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

时间:2021-01-28 16:30:01

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

2019-02-26 18:13:09 HD243608836 阅读数 540  收藏 更多
分类专栏: JAVA jvm
 

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

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

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

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

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


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

ps:

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

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

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

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

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

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