HotSpot JVM介绍以及结构

一:JVM 虚拟机支持跨平台

  例如: windows中表达3的机器码为 0010 ,而linux上位0011,虚拟机JVM就是为这些小的差别做统一,因此支持跨平台

二:JVM 结构

主要探讨JVM运行时区

线程私有
1.栈
栈-压栈操作,先进后出
①:局部变量表 例如:方法中定义的变量存储在这里 如果有对象应用指向堆
②:操作数栈 例如:方法中几个数字做运算,存放数字的
③:动态链接
④:方法出口
2.本地方法栈
用native修饰的方法属于本地方法,存放于此
3.程序计数器
.java文件 - .class 反编译之后回看到code后面跟随着编号,也是jvm执行的顺序

 

线程共享
4.堆
对象存储的位置
新生代(1/3) 和老年代(2/3)
新生代:
Eden(8/10): 对象存储位置
from(1/10): jc每隔x时间,就执 垃圾回收,没有被回收的 第一次就放入到这里
to(1/10): 第二次jc执行,from中没有被收回的放入到这里
老年代:
to区域的对象没有回收,就会放入到这里,当这里的内存溢出时,就包报异常,jvm自动执行回收(全部回收)
5.方法区(元空间)
class文件存储的地方

posted @ 2021-03-10 09:42  boge1024  阅读(156)  评论(0)    收藏  举报