https://blog.csdn.net/qq_4170...
image.png

所有对象几乎都是在堆上分配的

方法体中的引用变量和基本类型的变量都在栈上,其他都在堆上。

常量池

编译器确定的信息会放到class文件中的常量池中,加载后会放到运行时常量池中
主要是字面量和符号引用
Integer -128<127也会出现在其中
String。intern也会出现
https://www.jianshu.com/p/55f...
运行时常量池JDK7在方法区中

方法区

JDK 1.7中,方法区中譬如符号引用(Symbols)转移到了native heap;字面量(interned strings)转移到了Java heap;类的静态变量(class statics)转移到了Java heap。
JDK1.8对JVM架构的改造将类元数据放到本地内存中,另外,将常量池和静态变量放到Java堆里。

引用
强引用 永不回收
弱引用 内存不够时被回收
软引用 下次gc被回收
虚引用 实际获取不到,只是为了标识,知道被回收的时间

————————————————
版权声明:本文为CSDN博主「老莫8」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/laomo_b...


程浩
21 声望2 粉丝

下一篇 »
【网络】

引用和评论

0 条评论