Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JVM可以看到多少代码?_Java_Jvm - Fatal编程技术网

Java JVM可以看到多少代码?

Java JVM可以看到多少代码?,java,jvm,Java,Jvm,因为每个java应用程序都需要main方法,除了applet和web应用程序,其中main方法是通过web容器实现的,所以当我们通过java命令传递包含main的类的名称来执行它时,main方法是程序的起点 所以我的问题是,JVM可以看到多少代码,这意味着它可以看到整个代码,还是加载在程序执行过程中遇到的类或信息。 也许我的问题与上下文无关,但请澄清。Java“按需”加载类。只要您以某种方式“使用”X,X.class就会被加载。请注意:“使用”不仅仅是源代码中的“导入” 你可以找到一个很好的介

因为每个java应用程序都需要main方法,除了applet和web应用程序,其中main方法是通过web容器实现的,所以当我们通过java命令传递包含main的类的名称来执行它时,main方法是程序的起点


所以我的问题是,JVM可以看到多少代码,这意味着它可以看到整个代码,还是加载在程序执行过程中遇到的类或信息。 也许我的问题与上下文无关,但请澄清。

Java“按需”加载类。只要您以某种方式“使用”X,X.class就会被加载。请注意:“使用”不仅仅是源代码中的“导入”

你可以找到一个很好的介绍这个主题


而且,正如Holger正确指出的那样:您必须区分加载时间和初始化时间

只有在需要的时候才从类路径加载类,如果这是您所要求的,则会延迟加载。这实际上取决于类加载器。可以想象,有些类加载器可能出于反射目的而急切地等待。值得强调的是,加载时间并不等于初始化时间。加载时间是特定于实现的,JVM可以随时预加载类文件引用的类。初始化发生在。在中,大多数类都是在初始化之前不久加载的,除了少数情况下验证器需要提前加载。