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)。
2.Student stu = new Student():
运行程序:
程序走到1时,stu存在在栈中,不存在类加载以及Student类初始化属性的行为。
程序走到2时,Student类首先会被jvm所加载,加载的同时加载静态的属性(1),方法(2)到方法区,执行静态代码块(3)
(静态代码块最后执行,并且只会执行一次,而非静态代码块可以执行多次)
类加载完成之后jvm会在堆内存中开辟空间,执行属性的默认初始化(1),之后执行非静态代码块(2),最后执行构造函数(3)。
相关文章推荐
- java线程池的种类和应用
- java 全角转半角 代码
- 如何将java web项目上线/部署到公网
- Java学习提要——sleep()和wait()的实例与区别
- JAVA处理不正确处理图片ICC信息蒙上红色的问题 放弃ImageIO.read()
- 04-Java 异常
- java利用zxing生成二维码
- java控制台打印出菱形
- 五十道编程小题目 --- 28 八大排序算法 java 之 04堆排序
- WIN10JDK配置
- 五十道编程小题目 --- 28 八大排序算法 java 之 03简单选择排序
- java多线程-信号量
- 五十道编程小题目 --- 28 八大排序算法 java 之 02希尔排序
- 五十道编程小题目 --- 28 八大排序算法 java 之 01直接插入排序
- Java文件上传类FileUploadUtil.java代码+注释
- java HashMap 实现原理
- JVM(JAVA虚拟机)调优及原理
- eclipse没有响应怎么办
- JAVA 数据类型和多种运算符小结
- Java正则表达式