JVM
2020-10-30 15:35:22 0 举报
jvm
作者其他创作
大纲/内容
objectage=15
操作数栈
验证
java HelloWorld
helloWorld
栈
先进后出
objectage=1
minor gc
老年代2/3-->400M
HelloWorld.class
300
源码
result=300
a=1
Eden160M
JRE运行时环境
windows
方法出口
object对象
回收内存
JAVA为什么需要性能调优
由于使用的一些数据量越来越多,导致内存占用越来越多,如果不进行调优,内存过大,导致系统奔溃,所以就设置了一个回收的界限,超过了,就开始回收一些没有用的空间
full gc
当age>15次的时候或者from区的对象大小超过50%改对象就会晋升到老年代
java虚拟机从软件层面屏蔽了底层硬件指令的细节
HelloWorld.java
加载
准备
线程私有数据
字节码
class类
JAVA虚拟机
新生代1/3-->200M
物理内存8G
本地方法栈native
c=300
.......
类加载过程
线程共享数据
本地方法栈
解析
程序计数器
from20M
main栈帧
JVM
java运行时数据区
堆(假设600M)
程序计数器:指向当前线程所执行的字节码指令的地址(行号)
类加载子系统
JVM分配内存
to20M
linux
堆
栈FILO
机器码
add栈帧
使用
局部变量表
b=2
helloWorld2
方法区(元空间)
main线程
卸载
初始化
执行引擎
收藏
0 条评论
下一页