具体来说,在这个例子上:
1. 程序启动以来,第一次访问了该类的一个静态成员(int类型)。
2.这个类已经被初始化(静态块的执行等)。
3.我们转向同一个类的静态方法。正是此时,Java 是从哪里获得方法(命令)的主体:从硬盘上的 .class 文件还是从 RAM 中?
也就是说,当一个类在没有创建对象的情况下被初始化时,是来自类的所有信息还是只有部分信息从 .class 文件到另一个区域(比如 RAM)?如果只是一部分,他们会得到:方法体吗?之后=有什么实例字段?
具体来说,在这个例子上:
1. 程序启动以来,第一次访问了该类的一个静态成员(int类型)。
2.这个类已经被初始化(静态块的执行等)。
3.我们转向同一个类的静态方法。正是此时,Java 是从哪里获得方法(命令)的主体:从硬盘上的 .class 文件还是从 RAM 中?
也就是说,当一个类在没有创建对象的情况下被初始化时,是来自类的所有信息还是只有部分信息从 .class 文件到另一个区域(比如 RAM)?如果只是一部分,他们会得到:方法体吗?之后=有什么实例字段?
具体到你的问题 - 从记忆中。如果在运行应用程序时更改了类,则默认情况下 Java 不会选择它。ClassLoader 在应用程序启动时加载所有类。不要将类加载与类初始化混淆。初始化将在第一次调用之后发生。你可以看到这些链接: http : //java-online.ru/java-classloader.xhtml,https : //javarush.ru/groups/posts/646-kak-proiskodit-zagruzka-klassov-v-jvm,https://habr.com/ru/post/103830/,https://habr.com/ru/post/104229/,