引用3楼maradona1984的回复:编译期不会类加载
你的代码运行中,调用了某个类,才会类加载,或者代码中有Class.forName这种也会类加载
静态块里的代码在类加载时执行,静态变量会被初始化
看了篇文章,有一点解惑.有一些基础类,就算还没调用到,在jvm启动初期就会预加载,如Object类,然后我们自己写的类是会像您说的那样按需加载,但具体是饿汉式的加载,这个类一引用到(只是单纯引用到,比如只是声明这样一个类型的变量为null),就立马加载,还是懒汉式的,等到这个类要初始化的时候再加载,根据不同的jvm具体实现,有不同的加载方式?是有这样的说法吗?
|