<返回更多

简明JVM架构

2021-04-20  今日头条  IT技术圈
加入收藏

JVM架构

简明JVM架构

 

从上图可以很清晰的看出,jvm架构分成三大部分

1,类加载子系统

JAVA的动态类加载功能就是由类加载子系统完成的。类加载子系统在运行时第一次遇到一个class文件时就去加载、链接、初始化class文件。注意是运行时,不是编译时。

1.1 加载

类首先由类加载子系统加载进来。具体分为启动类加载器(BootStrap ClassLoader)、扩展类加载器(Extension ClassLoader)和应用类加载器(Application ClassLoader)三个类加载器。

加载过程遵循双亲委派机制

1.2 链接

  1. 校验:进行二进制代码的合法性验证工作,如果非法会报错。
  2. 准备:在这个阶段所有的静态变量会分配内存,并初始化类型的默认值。
  3. 解析:所有的符号引用替换成真正的内存地址引用

1.3初始化

类加载的随后阶段。此时进行所有静态变量的初始化,静态代码块也会得到执行。

2,运行时数据区

运行时数据区主要分五个部分。

3,执行引擎

二进制代码是由执行引擎执行的。执行引擎可以分成三部分。

4,本地方法接口

本地方法接口和本地方法库交互,使执行引擎可以调用本地方法库

5,本地方法库

就是本地方法库

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>