前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不同JDK版本之间 intern 方法有啥区别?

不同JDK版本之间 intern 方法有啥区别?

作者头像
韩旭051
发布2021-04-14 14:56:34
6000
发布2021-04-14 14:56:34
举报
文章被收录于专栏:刷题笔记
在这里插入图片描述
在这里插入图片描述

没看出啥区别 是我太菜吗?》 就是 Java堆加进来了,原来是字符串存在 字符串常量池,现在是放在 Java堆 常量池存引用 。 堆中不存在,在常量池中创建、

也就是现在 两个 常量池 和 堆 两个都用,以前全用常量池 应该是以前常量池会存 堆的副本 现在可以存堆的引用 ,现在是先看看堆里有没有 没有 也不会在堆里生成 而是在 常量池生成 就是 优化了一些 常量池的存储空间

永久代向 元空间 转换

通过上面分析,大家应该大致了解了 JVM 的内存划分,也清楚了 JDK 8 中永久代向元空间的转换。不过大家应该都有一个疑问,就是为什么要做这个转换?所以,最后给大家总结以下几点原因:

1、字符串存在永久代中,容易出现性能问题和内存溢出。

2、类及方法的信息等比较难确定其大小,因此对于永久代的大小指定比较困难,太小容易出现永久代溢出,太大则容易导致老年代溢出。

3、永久代会为 GC 带来不必要的复杂度,并且回收效率偏低。

4、Oracle 可能会将HotSpot 与 JRockit 合二为一。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/03/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 永久代向 元空间 转换
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档