JDK体系机构和JVM架构解析

JDK体系结构

 

 JDK  =  灰蓝色java命令  +  JRE核心类库(JVM)

a.java通过javac命令变成a.class文件通过JVM跨平台运行

 

JVM虚拟机:

 

class文件进入类装载子系统---->运行时数据区--->字节码执行引擎

堆和栈是所有线程共享

堆:new出来的对象放堆里面

 

 喜闻乐见GC

可达性分析算法 从GC Roots开始找,这一条链全部放到eden

开始minor GC

无限new对象,JVM调优查看:

 

 老年代满了 fullGC 全回收

栈:线程局部变量放入栈区(单独取出一些内存)  一个方法对应一个栈帧

  局部变量表:存放局部变量

  操作数栈:临时放入数据进行运算

  动态链接:

 

  方法出口:

  main方法局部变量(new出来的)引用于堆内存

程序计数器:解决多线程问题

方法区用单独物理内存:jdk1.8以前永久代  ,之后元空间 , 存放对象的地址等 常量 静态变量 类信息等

本地方法栈:c/c++语言实现,新老系统相互交互

 

 

!!!

JVM调优

目的:减少STW(GC时停止所有线程)

posted @ 2020-08-14 22:21  Muusa  阅读(268)  评论(0)    收藏  举报