Java编译器对类的顺序有何偏好?

时间:2018-06-23 18:01:18

标签: java

在将Java文件编译为JVM的类文件之前,某些Java编译器是否喜欢Java文件的不同布局?

我的意思是,首先编写您的主类,然后在接下来的几行中编写所有其他类会带来更快的编译时间吗?

由于尚未遇到主类中相关信息所需的信息,编译器是否需要花费更长的时间?

如果我没记错的话,Java也不使用显式指针,因此我也不认为这是个问题。

换句话说,如果您在main之外编写类,这会加快编译时间吗?

2 个答案:

答案 0 :(得分:6)

如果存在任何此类差异,那么它会微不足道,您不会注意到它。

换句话说,您应该专注于以一种有意义且易于维护的方式来组织类,而不是帮助编译器。

答案 1 :(得分:2)

这非常简单:您可以指定类的顺序。

换句话说:您将文件或目录名称的列表提供给编译器。然后,编译器按照给定的顺序处理这些文件,然后遍历每个文件。有时它会作为参考,以了解是否使用了尚未定义的类型。

猜测:当您要求编译器查找完整目录时,它将仅按照文件系统使用的顺序(如字母顺序)读取文件。

最后:这绝对是编译器(或什至是生成运行编译器命令的构建工具)的实现细节。因此,不同的工具或工具版本可能会导致不同的结果。再说一遍:不要为此浪费时间进行“优化”。