字节码文件什么时候被加载进内存
字节码文件什么时候被加载进内存,是在编译时,还是???
------解决方案--------------------编译的时候加载进内存作甚,当然是运行的时候
------解决方案--------------------
一般情况下,当一个类被访问,包括创建实例,引用了类中的静态成员等等,但这个类自虚拟机运行开始就没被装载过,那么虚拟机会装载类文件到内存中。但不是所有的虚拟机都保证有同样的特性。也许有的虚拟机会采取一次性装载的办法也未必,这一点没仔细研究过。
------解决方案--------------------编译时只会生成 class字节码文件
Java 源码编译由以下三个过程组成:
分析和输入到符号表
注解处理
语义分析和生成class文件
没有加载到内存
当要使用到该类的时候 ClassLoader相关类才会去加载
对于不同的路径 有不同的ClassLoader负责去加载 例如classpath下的类 是由AppClassLoad负责加载