JVM的组成

本文详细介绍了JVM的五个组成部分:类加载器、运行时数据区、执行引擎、本地方法接口和垃圾回收系统。重点讲解了类加载器的工作流程,包括加载、连接(校验、准备、解析)、初始化各个阶段,以及静态块和final变量的初始化规则。同时,文章提到了JVM命令的使用,如堆内存和栈内存的配置。
摘要由CSDN通过智能技术生成

JVM由类加载器、运行时数据区、执行引擎、本地方法接口、垃圾回收系统五部分组成。
在这里插入图片描述
一、类加载器
用来将二进制.class文件加载到内存中,经过加载、链接(校验、准备、解析)、初始化,并在内存中创建一个class类对象,保存着该类在内存中的数据结构。(注意这个class类对象和堆内存中new出来的实例不是一个东西,这个class类对象只有一个,jvm并没有规定这个class类对象在内存中的位置,hotspot虚拟机讲这个class类对象放在方法区,作为程序访问方法区这个类的各种数据的访问入口)

1.1 加载
将符合jvm规范的二进制字节流加载到内存;用于后面的连接和初始化。
加载主要完成三件事:
1)通过全限定名来获取定义此类的二进制字节流
2)建这个字节流所代表的的静态存储结构转化为方法区的运行时数据结构
3)在雷村中生成一个java.lang.Class对象,作为程序访问方法区这个类的各种数据的访问入口
二进制字节流的来源:
1)本地的.class文件
2)通过网络获取的.class文件
3)在运行期间有jvm生成的字节码(动态代理)
4)从zip包中读取,比如jar,zip,war等
5)从数据库中读取
6)有其他文件生成,比如有jsp文件生成class类。

1.2 连接
1.2.1 校验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值