JVM加载类 - 懒加载模式

2021-02-07  本文已影响0人  LssTechnology
可能有时有想,项目开发过程中经常会用到各种第三方库,包括各种框架、工具类、sdk等等,那么这些第三方的类难道都等到项目启动的时候,把这些类统统都加载到JVM内存中嘛,这不得把JVM给“挤爆了”,所以,为了解决这个困境,就引出了一个“懒加载”的概念
那么如何证明是 JVM 是懒加载模式呢
1、先看下面一段代码
public class ClassLoaderController {

    static {
        System.out.println("********** loading ClassLoaderController class **********");
    }

    public static void main(String[] args) {
        new DemoA();
        System.out.println("*************** loading test ************");
        DemoB demoB = null;
    }
}

class DemoA {
    static {
        System.out.println("********** loading DemoA class **********");
    }

    public DemoA() {
        System.out.println("********** init DemoA **********");
    }
}

class DemoB {
    static {
        System.out.println("********** loading DemoB class **********");
    }

    public DemoB() {
        System.out.println("********** init DemoB **********");
    }
}
2、简单分析一下执行顺序
3、综合分析,打印结果为
********** loading ClassLoaderController class **********
********** loading DemoA class **********
********** init DemoA **********
*************** loading test ************
符合我们的预期,也证明了,JVM的类加载是一个懒加载
本文只是简单验证了一下,希望对你有所帮助
上一篇 下一篇

猜你喜欢

热点阅读