Java常量,变量,对象(字面量)在JVM内存中的存储位置

Java常量,变量,对象(字面量)在JVM内存中的存储位置

苦苦研究了快一天了,终于找到个“大神精准的总结”了!!!!!!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

建议与《JVM存储位置分配》https://blog.csdn.net/HD243608836/article/details/87940295结合着看,容易理解!!

 

  • 针对Java中的常量,变量,字面量,对象的存储,略作总结.


总结:new出的对象存储堆中,””存储常量池中,基本类型字面量为常量或静态变量时,存储在常量池,为成员变量存储在堆中,为局部变量存储在栈中.

 

ps:

常量就是 程序运行中 不可以改变的量(数据)

变量就是 程序运行中 可以改变的量(数据)

 

所以,在“类的成员属性”中:

static修饰的变量(static int x=10)在方法区中,

final修饰的常量(static final int x=10)在方法区中的常量池中,

普通的变量(int x=10)在堆中。

posted @ 2019-12-02 23:25  知一以天  阅读(2144)  评论(0编辑  收藏  举报