JDK 1.8之后Perm Space有哪些变动? MetaSpace默认是无限的么? 还是你们会通过什么方式来指定大小?

Posted 四猿外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK 1.8之后Perm Space有哪些变动? MetaSpace默认是无限的么? 还是你们会通过什么方式来指定大小?相关的知识,希望对你有一定的参考价值。

JDK 1.8后用元空间替代了 Perm Space;字符串常量存放到堆内存中。

MetaSpace大小默认没有限制,一般根据系统内存的大小。JVM会动态改变此值。

-XX:MetaspaceSize:分配给类元数据空间(以字节计)的初始大小(Oracle逻辑存储上的初始高水位,the initial high-water-mark)。此值为估计值,MetaspaceSize的值设置的过大会延长垃圾回收时间。垃圾回收过后,引起下一次垃圾回收的类元数据空间的大小可能会变大。

-XX:MaxMetaspaceSize:分配给类元数据空间的最大值,超过此值就会触发Full GC,此值默认没有限制,但应取决于系统内存的大小。JVM会动态地改变此值。

以上是关于JDK 1.8之后Perm Space有哪些变动? MetaSpace默认是无限的么? 还是你们会通过什么方式来指定大小?的主要内容,如果未能解决你的问题,请参考以下文章

jvm分区1.8之meta Space

JVM内存区域划分Eden Space,Survivor Space,Tenured Gen,Perm Gen

java版本的选择

更换jdk版本:jdk1.8更换为jdk1.7之后输入java -version还是出现1.8的版本号

更换jdk版本:jdk1.8更换为jdk1.7之后输入java -version还是出现1.8的版本号

ConcurentHashMap为何是线程安全的,从JDK7到JDK8都做了哪些调整?