java中的变量何时分配内存(编译时还是运行时)?

java中的变量何时分配内存(编译时还是运行时)?,java,Java,在C&C++中,静态变量在编译时本身被分配内存。因此我想知道在Java中何时将内存分配给变量?Java源文件被编译成.class文件。和.class文件实际上无法与从C/C++编译的二进制文件进行比较。恐怕你的问题没有什么意义 在Java中保存静态变量值的内存很可能是在类加载时分配的(但我认为这是VM实现特有的) 但是为了直接回答您的问题,我想说不,在编译Java程序期间不会为静态变量分配内存。静态变量(类变量)的内存是在类加载到JVM期间分配的。 在创建新对象时,分配对象变量的内存(这是jav

在C&C++中,静态变量在编译时本身被分配内存。因此我想知道在Java中何时将内存分配给变量?

Java源文件被编译成
.class
文件。和
.class
文件实际上无法与从C/C++编译的二进制文件进行比较。恐怕你的问题没有什么意义

在Java中保存静态变量值的内存很可能是在类加载时分配的(但我认为这是VM实现特有的)


但是为了直接回答您的问题,我想说不,在编译Java程序期间不会为静态变量分配内存。

静态变量(类变量)的内存是在类加载到JVM期间分配的。

在创建新对象时,分配对象变量的内存(这是java java中的新关键字的责任)。请考虑其中一个答案,以便我们在这个线程上得到一个闭包。