类加载时类的初始化和创建实例时的初始化顺序

1.类加载时类的初始化和创建实例时的初始化顺序

1、虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化
 2、只有在调用new方法时才会创建类的实例
 3、类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行本类继承的子类的初始化块,最后是子类的构造方法
 4、类实例销毁时候,首先销毁子类部分,再销毁父类部分

JAVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的, 静态成员变量和静态初始化块级别相同,非静态成员变量和非静态初始化块级别相同。

 

 test类加载的时候首先进行静态成员初始化,之后进行静态代码块初始化,x=10,x=10+5,x=15/3

 test类加载的时候首先进行静态成员初始化,之后进行静态代码块初始化,x=10,x=10+5,x=15/3

 test类加载的时候首先进行静态成员初始化,之后进行静态代码块初始化,x=10,x=10+5,x=15/3

 

2.多线程操控共享资源采用锁的机制,与数据库的锁机制一样。

3.锁,分为读锁,和写锁。

posted @ 2016-10-11 00:33  跨境电商杂货铺  阅读(1782)  评论(0编辑  收藏  举报