请问下常量池到底是存储在元空间还是堆中呢?

来源:6-10 Java内存模型之线程共享部分

Goodbye丿Youth

2019-03-27

图片描述
图片描述

如上面两个图,老师,我有点被搞晕了,我现在的理解是是两个常量池指的不是同一个,一个存在堆中,一个存在元空间中,是怎么样吗?是不是不同的常量池会被存放到不同的地方呢?

写回答

1回答

翔仔

2019-03-28

同学好,字符串常量池和常量池的区别可以看这个

https://blog.csdn.net/qq_26222859/article/details/73135660

这里咱们统一一下说法,关于上面的第一个回答,答得比较笼统,实际上字符串常量池分成两个部分,字符串实例以及一个叫做StringTable的东西,StringTable存储在元空间,而String实例对象 jdk8之后可以存储在堆中,然后把引用保存在StringTable里,而常量池是存储在元空间中的

0
1
Goodbye丿Youth
好的,谢谢老师
2019-03-28
共1条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程