JavaSE@拓展补遗@笔记12@Java中的类加载机制【了解】

1、类的加载

当一个类第一次被使用时,会被加载到方法区,一个类只会被加载一次。

2、类的加载时机

  1. 创建类的实例。

  2. 调用类的静态变量,或者为静态变量赋值。

  3. 调用类的静态方法。

  4. 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象。

  5. 初始化某个类的子类。

  6. 直接使用java.exe命令来运行某个主类。

    public class Test01 {
        public static void main(String[] args) throws ClassNotFoundException {
            //1. 创建类的对象。
            Student s = new Student();
    ​
            //2. 调用类的静态变量,或者为静态变量赋值。
            Student.s = "abc";
    ​
            //3. 调用类的静态方法。
            Student.method();
    ​
            //4. 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象。
            Class c = Class.forName("com.itheima_01.Student");
    ​
            //5. 初始化某个类的子类。
            SmallStu ss = new SmallStu();
    ​
            //6. 直接使用java.exe命令来运行某个主类。
            有主方法的类会直接被加载
        }
    }

     

3、类加载器

类加载器就是把类加载到内存的工具。不同的类加载器用来加载不同类型的类。

  • 启动类加载器(Bootstrap ClassLoader)

  • 扩展类加载器(Extension ClassLoader) 在JDK9以后它变成了平台类加载器PlatformClassLoader

  • 应用程序类加载器(Application ClassLoader)

  • 关系:

    • Application 的父亲是 Extension 的父亲是 Bootstrap

    • Extension 的父亲是 Bootstrap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值