JVM虚拟机的类加载机制。

本文详细阐述了Java类加载的原理,包括类加载器的工作机制、类的两种装载方式、启动类加载器、系统类加载器和自定义类加载器。讲解了类装载的五个步骤:加载、验证、准备、解析和初始化,并重点剖析了双亲委派模型在类加载决策中的作用。
摘要由CSDN通过智能技术生成

一,什么是Java类加载机制?
虚拟机把Class字节码文件加载到运行时数据区的方法区内,并对数据进行校验,解析
和初始化,最终形成可以被虚拟机直接使用的java类型。
======================================================================
二,JVM加载Class文件的原理机制?
Java中的所有类,都需要由类加载器装载到JVM中才能运行,类加载器本身也是一个类,
而它的工作就是把class文件从硬盘读取到内存中。
类装载方式有两种:
1.隐式装载,程序在运行过程中遇到通过new的方式生成对象时,
隐式调用类装载器加载对应的类到jvm中。
2.显式装载,通过class.forname()等方法,显式加载需要的类。
Java类的加载是动态的,它并不会一次性将所有类全部加载后再运行,而是保证程序
运行的基础类完全加载到jvm中,至于其他类,则在需要的时候才加载。
======================================================================
三,类加载器有哪些?
在Java语言中,可以把类分成三类:系统类,扩展类,自定义类。
根据这三种不同的类提供了三种类型加载器,
1.启动类加载器
2.系统类加载器
3.扩展类加载器
4.自定义类加载器
======================================================================
四,简述类装载的执行过程。
类装载分为5个步骤:
加载:根据查找路径找到相应的 class 文件然后导入;
验证:检查加载的 class 文件的正确性;
准备:给类中的静态变量分配内存空间;
解析:虚拟机将常量池中的符号引用替换成直接引用。
初始化:对静态变量和静态代码块执行初始化工作。
======================================================================
五,什么是双亲委派模型?
当一个类收到了类加载请求时,不会自己先去加载这个类,而是将其委派给父类,
由父类去加载,如果此时父类不能加载,则反馈给子类,由子类去完成类的加载。
======================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值