在Java 7中,“静态变量”和“静态方法”存储在“方法区域”中,但是自从Java 8之后,我在JVM规范中看到了这句话
The proposed implementation will allocateclass meta-data in native memory and move interned Strings and class statics to the Java heap --有一篇文章说静态变量,垃圾收集器不能删除静态类,也有文章说静态类不能被垃圾收集
我正在实验用Java初始化不同类型的变量。我可以在构造函数中初始化最终变量(例如,最终变量b)和静态变量(例如静态int c),但不能在构造函数中初始化静态最终变量(例如,静态最终变量d)。为什么Java不允许在构造函数中初始化静态最终变量?public class InitialisingFields { final int b;
s