Java基础惊天地JVM

JVM笔记:Java虚拟机的内存结构

2019-10-22  本文已影响0人  BigX

前言

开始先说明一个知识点,Java虚拟机的内存结构和内存模型(JMM)其实是两个不一样的东西,前者是下面要讲的堆栈之类的内容,后者可以看这篇文章。

由于全局字符串常量池(string pool或string literal pool) 在Java不同的版本中存放在不同的位置,下面以Java8为例。

-XX:PermSize
方法区初始大小
-XX:MaxPermSize
方法区最大大小
超过这个值将会抛出OutOfMemoryError异常:java.lang.OutOfMemoryError: PermGen

-XX:MetaspaceSize 初始空间大小,达到该值就会触发垃圾收集进行类型卸载,同时GC会对该值进行调整:
如果释放了大量的空间,就适当降低该值;如果释放了很少的空间,那么在不超过MaxMetaspaceSize时,适当提高该值。
-XX:MaxMetaspaceSize最大空间,默认是没有限制的。
-XX:MinMetaspaceFreeRatio在GC之后,最小的Metaspace剩余空间容量的百分比,减少为分配空间所导致的垃圾收集
-XX:MaxMetaspaceFreeRatio在GC之后,最大的Metaspace剩余空间容量的百分比,减少为释放空间所导致的垃圾收集
上一篇下一篇

猜你喜欢

热点阅读