JVM底层原理分析:1.JDK体系、JVM架构和运行时数据区

【专栏目录】
JVM底层原理分析:1.JDK体系、JVM架构和运行时数据区
JVM底层原理分析:2.堆内存分析和JVM调优

1.JDK体系结构

【组成部分】

组件 说明
Java基础命令 如java、javac、javadoc等
JRE(Java运行时环境) 由各个组件组成,如JDBC、JVM等

【如图】

JVM底层原理分析:1.JDK体系、JVM架构和运行时数据区_第1张图片

2.JVM内部结构

【组成部分】

组件 说明
类加载器 读取.class文件,并生成class对象,并将其加载到内存中
运行时数据区(内存模型) 为生成的class对象提供的生存空间
字节码执行引擎 用于调用内存区中的class对象并执行代码逻辑,以及执行GC操作等

【如图】

JVM底层原理分析:1.JDK体系、JVM架构和运行时数据区_第2张图片

3.运行时数据区内部结构

组件 说明 是否线程可共享
Java栈 一个线程创建后拥有的独立内存空间,内部包括:局部变量表、操作数栈、动态链接、方法出口
本地方法栈 Java底层的方法所占用的内存空间,比如public native start();,本地方法都是用C语言实现的
程序计数器 每个线程拥有一个程序计数器,用于保存当前线程执行的位置(实际上保存的就是汇编代码执行到第几行的地址),防止线程切换导致无法继续执行
new产生的对象所占用的内存空间
方法区(永久代、持久代、元空间) 常量、静态变量、类信息所占用的内存空间

【如图,该图片来源于2020年最新Java虚拟机JVM底层原理分析视频教程全集,侵权立删】

JVM底层原理分析:1.JDK体系、JVM架构和运行时数据区_第3张图片

你可能感兴趣的:(JVM底层原理,jvm)