虚拟机类加载机制(准备)

准备

准备阶段是正式为类变量分配内存空间。并设置类变量初始值的阶段,这些变量所使用的内存将在方法区中进行分配,这个阶段中有两个容易产生混淆的概念,要强调一下,首先,这时候进行的内存分配仅包含类变量被static修饰的变量。而不包含实例变量,实例变量将会在对象实例化时随着对象一起分配到甲瓦堆中。其次,这里所说的初始化通常情况下是指数据类型的零值。
上面提到在通常情况下初始值是零值,那么相对的会有一些特殊情况,如果类字段的属性表中存在constant value属性。那么在准备阶段,变量value就会被初始化为constant value属性所指定的值。如,被final修饰。

猜你喜欢

转载自blog.csdn.net/weixin_39472101/article/details/110704367