人工智能如何革新业务流程
六、jconsole监测元空间溢出 不是说 JDK 1.8 的内存模型把永久代下掉,换上元空间了吗?但不测试下,就感受不到呀,没有证据! 所有关于代码逻辑的学习,都需要有数据基础和证明过程,这样才能有深刻的印象。走着,带你把元空间干满,让它OOM!
1. 找段持续创建大对象的代码 通过jinfo查看默认MetaspaceSize大小(约20M),MaxMetaspaceSize比较大。 「其他:关于 JDK1.8 元空间的介绍:」 Move part of the contents of the permanent generation in Hotspot to the Java heap and the remainder to native memory. http://openjdk.java.net/jeps/122 5. 常量池 从 JDK 1.7开始把常量池从永久代中剥离,直到 JDK1.8 去掉了永久代。而字符串常量池一直放在堆空间,用于存储字符串对象,或是字符串对象的引用。 五、手撸虚拟机(内存模型) 其实以上的内容,已经完整的介绍了JVM虚拟机的内存模型,也就是运行时数据区的结构。但是这东西看完可能就忘记了,因为缺少一个可亲手操作的代码。 「所以」,这里我给大家用Java代码写一段关于数据槽、栈帧、局部变量、虚拟机栈以及堆的代码结构,让大家更好的加深对虚拟机内存模型的印象。 1. 工程结构
运行时数据区 (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |