关于JVM类加载机制的几点整理

当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到jvm(java虚拟机)。

类加载机制主要分双亲委派机制全盘负责委托机制

类加载机制:类加载器将class文件加载到jvm内存中。

双亲委派机制:当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。

双亲委派机制的作用:

1、防止重复加载同一个.class。通过委托去向上面问一问,加载过了,就不用再加载一遍。保证数据安全。
2、保证核心.class不能被篡改。通过委托方式,不会去篡改核心.clas,即使篡改也不会去加载,即使加载也不会是同一个.class对象了。不同的加载器加载同一个.class也不是同一个Class对象。这样保证了Class执行安全。

静态链接:把一些静态方法(符号引用,比如main()方法)替换为指向数据所存内存的指针或句柄(直接引用)。

动态链接:在程序运行期间完成的将符号引用替换为直接引用。

 

类加载过程步骤:加载、验证、准备、解析、初始化,使用、卸载

 

几种类加载器:

1、(启动)引导类加载器;

2、扩展类加载器;

3、应用程序类加载器;

4、自定义加载器;

参考了以下链接:https://www.jianshu.com/p/1e4011617650

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黎仔656

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

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

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

打赏作者

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

抵扣说明:

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

余额充值