【JVM】

描述一下JVM加载Class文件的原理和机制

1、JVM中类的加载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个很重要的java运行时系统组件,他负责在运行时查找和装入类文件的类。java中的所有类,都需要装载到JVM中才能运行,

类加载器本省就是一个类,它的工作就是将class文件从硬盘读取到内存中。

2、类装载的方式有两种:

隐式转载:程序在运行过程中碰道通过new等方式生成对象时,隐式调用类加载器加载对应的类到jvm中

显示装载:通过class.forname()等方法,显示加载需要的类

3. 类加载的五个过程:加载、验证、准备、解析、初始化。

1、加载:加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.class对象,作为方法区这个类的各种数据的接口。

2、验证:这一阶段的主要目的是为了确保Class文件中的字节流中包含的信息是否符合当前虚拟机的要求,并且不会危害虚拟机自身的安全

3、准备:准备阶段是正式为类变量分配内存并设置类变量的初始阶段,即在方法区中分配这些变量所需要的内存空间

4、解析:解析阶段是虚拟机将常量池中的符号引用替换为直接引用的过程

5、初始化:初始化阶段是执行类构造器方法的过程,方法是由编辑器自动收集类中的类变量的赋值操作和静态语句块中的语句合并而成的。虚拟机会保证方法执行之前,父类的

方法已经执行完毕

4. JVM的分区:程序计数器、本地方法栈、方法区、栈和堆

GC

5. GC的基本原理

当程序员在创建对象时,GC就开始监控这个对象的地址、大小以及使用情况,GC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ewenge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值