Java 中的类加载

1、类的加载

当我们程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三步来实现对这个类的初始化。

类初始的时机?

  • 创建类的实例
  • 访问类的静态变量,或为静态变量赋值
  • 调用类的静态方法
  • 初始化某个类的子类
  • 使用反射方式强制创建某个类或接口的字节码对象

2、类加载器

类加载器的作用是将.class文件加载到内存中,并为之创建对应的Class对象,Java中提供了三类加载器。

  • BootstrapClassLoader:负责将Java核心类的加载,比如常用的String、List,在JDK中JRE的lib目录下的rt.jar文件中。(根类加载器)
  • ExtensionClassLoader:负责JRE的扩展目录中jar包的加载,在JDK中JRE的lib目录下ext目录。(扩展类加载器)
  • SystemClassLoader:负责在JVM启动时加载来自Java命令的class文件。(系统类加载器)

有梦为马,随处可栖。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章