在JDK6及之前,使用永久代来实现方法区,字符串常量池(StringTable)是在永久代(方法区)中的,但是方法区的回收效率不高,在Full GC时才会回收。
在JDK7中,将字符串常量池转移到了堆中,分配在年轻代和老年代中。
在JDK8中,为了融合HotSpot VM与JRockit VM而做出努力,因为JRcockit VM不需要永久代 ,所以移除了永久代,改为了元空间,在本地内存中。
注意:在JDK1.8中,字符串常量池独立于新生代和老年代,有一块独立的区域。
在JDK6及之前,使用永久代来实现方法区,字符串常量池(StringTable)是在永久代(方法区)中的,但是方法区的回收效率不高,在Full GC时才会回收。
在JDK7中,将字符串常量池转移到了堆中,分配在年轻代和老年代中。
在JDK8中,为了融合HotSpot VM与JRockit VM而做出努力,因为JRcockit VM不需要永久代 ,所以移除了永久代,改为了元空间,在本地内存中。
注意:在JDK1.8中,字符串常量池独立于新生代和老年代,有一块独立的区域。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/46240.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!