1
4
对常量字段的引用在编译时解析为它们所表示的常量值。(JLS 13.1) |
2
2
不幸的是,您的问题不够具体,无法回答问题,因为如果不重新编译,问题可能会更改,也可能不会更改。下面是一个例子,其中常量值 将 更改为不重新编译。
这里有一个案例 不会 更改而不重新编译
|
3
1
不,它不会获取新值。这是语言规范的一部分。请参见 this question . |
4
1
根据JVM规范:
因此,当类加载器加载OutsideLibraryClass时,该值将被初始化。在MyVal上执行赋值语句时,该值将在运行时基于类加载器加载的OutsideLibraryClass类文件加载。因此,如果关闭JVM,交换包含OutsideLibraryClass的JAR文件并再次运行它,它将从新类中获得值。 更新
如果你说的是
|