在JDK6及之前,使用永久代来实现方法区,字符串常量池(StringTable)是在永久代(方法区)中的,但是方法区的回收效率不高,在Full GC时才会回收。
在JDK7中,将字符串常量池转移到了堆中,分配在年轻代和老年代中。
在JDK8中,为了融合HotSpot VM与JRockit VM而做出努力,因为JRcockit VM不需要永久代 ,所以移除了永久代,改为了元空间,在本地内存中。
注意:在JDK1.8中,字符串常量池独立于新生代和老年代,有一块独立的区域。 文章来源:https://www.toymoban.com/news/detail-602707.html
文章来源地址https://www.toymoban.com/news/detail-602707.html
到了这里,关于JVM运行时数据区——字符串常量池位置的调整的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!