您的位置:首页 > 编程语言 > Java开发

java中对象的初始化流程

2016-09-05 19:37 232 查看
1.Student  stu = null;

2.Student stu = new Student():

运行程序:

程序走到1时,stu存在在栈中,不存在类加载以及Student类初始化属性的行为。

程序走到2时,Student类首先会被jvm所加载,加载的同时加载静态的属性(1),方法(2)到方法区,执行静态代码块(3)

(静态代码块最后执行,并且只会执行一次,而非静态代码块可以执行多次)

  类加载完成之后jvm会在堆内存中开辟空间,执行属性的默认初始化(1),之后执行非静态代码块(2),最后执行构造函数(3)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: