jvm相关

jvm学习

类的加载过程

在这里插入图片描述

如果JVM想要执行这个.class文件,需要将其装载进一个类加载器中,类加载器就像搬运工,会将所有的.class文件搬进JVM里面
重点知识:

  • Java文件经过编译变成.class字节码文件
  • 字节码文件通过类加载器搬运到JVM虚拟机中
  • 虚拟机分为5大块:方法区、堆为线程共享区域,有线程安全问题;栈、本地方法栈、计数器都是独享区域,不存在线程安全问题。优化JVM主要围绕堆、栈两块进行。

类加载流程

类的加载过程包括了加载、验证、准备、解析、初始化、五个阶段。其中加载、验证、准备、初始化这四个阶段发生的顺序是确定的,而解析阶段不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或者晚期绑定)。另外注意这里的几个阶段是按顺序开始的,而不是按顺序进行或者完成的,因为这些阶段通常都是相互交叉的混合进行的,通常在一个阶段激活或者调用另一个阶段。
在这里插入图片描述

  • 加载:查找并加载类的二进制数据,在java堆中也创建一个java.lang.Class类的对象
  • 验证:文件格式、元数据、字节码、符号引用验证
  • 准备:为类的静态变量分配内存,并将其初始化为默认值
  • 解析:把类中的符号引用转换为直接引用
  • 初始化:为类的静态变量赋予正确的初始值
  • 使用:new出对象程序中使用
  • 卸载:执行垃圾回收

(未完结)
文章摘自https://mp.weixin.qq.com/s/nSwNZpObWLGteG-v7n5PSw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值