什么是类加载

类加载

一、类加载的概念

​ 我们在写一段代码之后,将其运行,显示结果,这个过程当中就涉及到了类加载。首先这段代码(源文件)被javac编译(java编译器)成字节码文件(.class文件),然后将此字节码文件加载到内存,并且对里面的数据进行校验、解析和初始化,最后形成可以被java虚拟机(JVM)直接使用的java类型,这就是虚拟机的类加载机制。

二、类加载的工具类加载器(ClassLoader)
2.1什么是类加载器

在java虚拟机外部将java类编译成二进制字节流,实现让源文件自己决定去获取所要加载的类,可自定义类加载器,这样的一个代码模块称为类加载器。

JVM中定义三种类型的类加载器

1)引导类加载器:用C++语言编写的,负责装载java的核心类库,该加载器是无法获取的

2)扩展类加载器:将jar装入工作库(jar/lib)

3)系统类加载器:负责自定义以及第三方的依赖的装入工作

三、类加载过程

类加载过程主要分为五个步骤:

加载 > 验证 > 准备 > 解析 > 初始化 > 使用 > 卸载

其中验证、准备、解析统称为链接

加载过程当中,JVM主要完成三件事情:

①通过全限定名(包名 . 类名)来获取这个类的计算机能识别的二进制字节流

②把二进制字节流所表示的静态存储结构转化为方法区的运行时数据结构

③生成这个类的java.lang.class对象,一个class对象对应着一个类

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值