1.线程安全点。当线程处于安全点时,其他JVM线程可以安全地操作和观察它。2.类加载过程【loading】利用双亲委托机制将字节码文件(.class)加载到JVM中,将字节流表示的静态存储结构转换为方法区的运行时数据结构【链接】验证字节码格式正确准备分配内存并隐式初始化所有静态变量解析将运行时常量池中的符号引用转换为实际内存地址引用,实际内存地址在编译阶段不知道,在解析过程中,可以知道实际的内存地址[Initialization]:显示初始化,静态变量会被赋值,静态代码块会被执行。3.对象初始化过程会加载类。详见上文分配内存进行隐式初始化,为成员变量赋初值进行init构造。方法,成员变量赋值,构造方法4.双亲委托机制Bootstraprt.jarExtensionjre/lib/*.jarApplicationclasspathcustomloadercustompath当一个类需要加载时,从下往上检查是否已经加载,如果没有加载,它会被上级搜索。当找到boostraploader时,如果它仍然是一个未加载的类,bootstraploader会尝试加载它。如果无法加载,则将其发送到下层类加载器,直到加载到类5。JVM内存模型虚拟机栈:包含三大块,局部变量表,
