JVM-JVM内存管理

1- JVM内存管理

1.1 JVM整体架构

JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。

部分特征

名称 特征 配置参数 异常
程序计数器 占用内存小,线程私有,生命周期与线程相同。
虚拟机栈 线程私有,生命周期与线程相同,使用连续的内存空间。 -Xss StackOverflowError/
OutOfMemoryError
线程共享,生命周期与虚拟机相同,可以不使用连续的内存地址。 -Xms -Xsx -Xmn OutOfMemoryError
方法区 线程共享,生命周期与虚拟机相同,可以不使用连续的内存地址。 -XX:PermSize:16M-
XX:MaxPermSize64M/-
XX:MetaspaceSize=16M-
XX:MaxMetaspaceSize=64M
OutOfMemoryError
本地方法栈 线程私有。 StackOverflowError/
OutOfMemoryError

JVM 调优

所谓JVM的调优,其实就是在调堆区+ 方法区域,而且99%情况下都在调堆。 栈有个栈帧,用完就释放内存。

1.2 JVM模块

JVM分为五大模块:类装载器子系统 、运行时数据区 、 执行引擎 、本地方法接口 和 垃圾收集模块 。

猜你喜欢

转载自blog.csdn.net/hxy1625309592/article/details/114298366