????????在JDK6及之前,使用永久代來(lái)實(shí)現(xiàn)方法區(qū),字符串常量池(StringTable)是在永久代(方法區(qū))中的,但是方法區(qū)的回收效率不高,在Full GC時(shí)才會(huì)回收。
? ????????在JDK7中,將字符串常量池轉(zhuǎn)移到了堆中,分配在年輕代和老年代中。
????????在JDK8中,為了融合HotSpot VM與JRockit VM而做出努力,因?yàn)?strong>JRcockit VM不需要永久代 ,所以移除了永久代,改為了元空間,在本地內(nèi)存中。
注意:在JDK1.8中,字符串常量池獨(dú)立于新生代和老年代,有一塊獨(dú)立的區(qū)域。?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-602707.html
????????文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-602707.html
到了這里,關(guān)于JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)——字符串常量池位置的調(diào)整的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!