JVM体系结构及GC
2021-08-27 13:39:41 0 举报
JVM体系结构及GC
作者其他创作
大纲/内容
本地方法接口JNInative interface
PS:元空间是Hotspot对JVM中方法区的实现,是Hotspot特有的
S0/S1
操作数栈
Stack Memory
老年代
幸存区 from survivor
新生代最小内存大小,等于-XX:NewSize;G1垃圾收集器时不应使用,其他业务某些场景可能会使用,大小一般为-Xmx的1/2或1/4
Method Area
否
-Xss
Old Gen是否能存放
Heap-Xms -Xmx
xxx.java
Old/TenuredGeneration
YoungGeneration-Xmn
新生代最大内存-XX:+MaxNewSize
方法区
本地方法栈native method stack
本地方法库native lib
Frame
Survivor1FromSpace
JDK1.8之前堆内存结构
最大直接内存大小
开始
堆最小内存 -Xms
Young GC
Compressed Class SpaceClass信息
栈帧
-XX:+MaxPermSize
YoungGeneration
JMM
-Xmx
是
Method Area-XX:+MaxPermSize或-XX:+MaxMetaspaceSize
Class/Method指针
运行时数据区Runtime Data Area
元空间
code cacheJIT编译的本地机器码
linking
Stack-Xss
新生代最小内存-XX:+NewSize
执行引擎exclusion engine
分配对象内存
运行时常量池
最小永久代内存大小,jdk7之前
多线程升级版
JDK1.8运行时数据区内存参数 total size
CMSJDK7广泛使用
新生代
应用类加载器
线程私有
ParNew
垃圾回收器种类
TLAB
xxx.class
resolve
永久代
类加载
栈内存-Xss
JMM内存结构布局及参数
线程共享
Full GC
新生代 Eden
-Xmn
方法区/非堆method area随着JDK版本不同,存储的数据类型也不同
OOM
PS:永久代是Hotspot对JVM中方法区的实现,是Hotspot特有的
最小堆内存,一般为系统内存的1/4
局部变量表
-XX:MaxMetaspaceSize=xxx
initalization
verify
prepare
幸存区1 to survivor
Survivor2ToSpace
具体
扩展类加载器
方法栈/线程栈
JVM调优
HEAP-Xmx
最小堆内存
Parallel Scavenge
Class Loader
EdenSpace
Old Gen 老年代
-XX:MaxDirectMemory=xxx
G1JDK8使用
GC主要流程
返回值
永久代最小内存-XX:+PermSize
最大永久代内存大小,jdk7之前
-Xms
Eden是否可存放
方法栈method stack
结束
Stack
元空间最小内存-XX:+MetaspaceSize
旧对象
JDK1.7运行时数据区内存参数 total size
是否达到阈值
元数据区
一般不设置,默认无限大
Survivor是否可存放
非堆 non-heap
Old Gen
栈帧 frame
Parallel Old
升级版,新增两个参数
启动类加载器
最大元空间内存大小;JDK8默认不限制元空间大小,一般不设置此参数
garbage collector
永久代最大内存-XX:+MaxPermSize
新对象申请
loading
堆heap
JVM相关参数
堆最大内存 -Xmx
Young Gen 年轻代
Serial Old(MSC)
YGC
程序计数器program counter register
-XX:+PermSize
元空间最大内存-XX:+MaxMetaspaceSize
JDK1.7之前堆内存结构
每个线程栈字节大小
Serial
收藏
0 条评论
下一页