jvm内存结构

java的内存结构

jvm内存结构主要分为三个部分: 堆内存, 方法区, 栈。
1.堆中最大的一块是年轻代,老年代。

  • 年轻代:

    分为是三个部分: Eden, from survivor, to survivor默认的比例为 8:1:1

  • 老年代

2.方法区存储类信息, 常量, 静态常量, 是线程共享的区域。
jmm

控制参数 -Xms设置堆的最小空间大小。

-Xmx设置堆的最大空间大小。

-XX:NewSize设置新生代最小空间大小。

-XX:MaxNewSize设置新生代最大空间大小。

-XX:PermSize设置永久代最小空间大小。

-XX:MaxPermSize设置永久代最大空间大小。

-Xss设置每个线程的堆栈大小。

没有直接设置老年代的参数,但是可以设置堆空间大小和新生代空间大小两个参数来间接控制。 老年代空间大小=堆空间大小-年轻代大空间大小

从更高的一个维度再次来看JVM和系统调用之间的关系

jmspace

from :https://www.cnblogs.com/ityouknow/p/5610232.html