节:类的加载过程之三:Initialization
Posted 李阿昀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了节:类的加载过程之三:Initialization相关的知识,希望对你有一定的参考价值。
文章目录
- 知识点(一):初始化阶段就是执行类构造器方法(即`<clinit>()`)的过程
- 知识点(二):`<clinit>()`方法不需定义,它是javac编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并而来的
- 知识点(三):构造器方法中的指令是按照语句在源文件中出现的顺序来执行的
- 知识点(四):类构造器方法(即`<clinit>()`)不同于类的构造器,从虚拟机的视角下看,类的构造器就是`<init>()`
- 知识点(五):若该类具有父类,则JVM会保证在子类的`<clinit>()`执行之前,父类的`<clinit>()`已经执行完毕了
- 知识点(六):虚拟机必须保证一个类的`<clinit>()`方法在多线程下被同步加锁
介绍完类的加载过程的第二个阶段(即链接阶段)以后,我们再来看一下类的加载过程的第三个阶段,即Inilization阶段,翻译过来便是初始化阶段。
以上是关于节:类的加载过程之三:Initialization的主要内容,如果未能解决你的问题,请参考以下文章