本文共 417 字,大约阅读时间需要 1 分钟。
回顾下java基础、很多人可能不知道java中类加载的过程,记得很久以前面试被问过一道面试题如下:
new
Class.forName()
ClassLoader.loadClass()
ClassLoader.loadClass()
的时候jvm做什么事情?jvm
中并对它进行了格式校验,并解析该文件,分配内存并赋值默认值,并且将符号引用替换成直接引用(内存地址)。Class.forName()
做了什么事情?public int a=10
什么时候这个a=10
呢?newInstance()
的时候才开始赋值的,这也就是为什么static
中不能引用外部非staic
变量或者方法的原因。转载地址:http://spkfb.baihongyu.com/