初始化方法
在编译生成class文件时,会自动产生两个方法,一个是类的初始化方法
init的实现
是由jvm实现的,以下是hotspot jvm实现的版本
openjdk\hotspot\src\share\vm\oops\instanceKlass.cpp
openjdk\hotspot\src\share\vm\oops\instanceKlassKlass.cpp
为什么叫
名词解释
oops原来不是Object Oriented Programming,实际指的是 Ordinary Object Pointer(普通对象指针)。它用来表示对象的实例信息,看起来像个指针实际上是藏在指针里的对象。而klass则包含 元数据和方法信息,用来描述Java类。
Klass
KlassKlass
参考
(见JVM规范8中的2.9节)