JVM加载机制
2016-05-01 19:46
323 查看
Object obj = new Object();
new 的过程到底做了什么?
首先jvm会进行载入,连接,初始化。在初始化前,类的信息已经放在了方法区中并且static部分已经放入。
在new的时候,才把obj放到堆中。并且这个时候,初始化属性,初始化方法。
For example:
class A { public int i = method(); public static int j = method2(); public A() { System.out.println(1); } private int method() { System.out.println(2); return 0; } private static int method2() { System.out.println(3); return 0; } } public class B extends A { public int m = method3(); public static int n = method4(); public B() { System.out.println(4); } private static int method4() { System.out.println(6); return 0; } private int method3() { System.out.println(5); return 4000 0; } public static void main(String[] arg) { System.out.println(7); A a = new B(); } }
有A a = new B();结果是:3,6,7,2,1,5,4;
没有A a = new B();结果是:3,6,7
相关文章推荐
- Java 6 JVM参数选项大全(中文版)
- 深入解析JVM对dll文件和对类的装载过程
- Java虚拟机JVM性能优化(二):编译器
- Java程序员必须知道的5个JVM命令行标志
- Java虚拟机JVM性能优化(三):垃圾收集详解
- 解析Java虚拟机中类的初始化及加载器的父委托机制
- JAVA中JVM的重排序详细介绍
- 浅谈Java的虚拟机结构以及虚拟机内存的优化
- Java虚拟机JVM性能优化(一):JVM知识总结
- Android Studio 报错failed to create jvm error code -4的解决方法
- 解析Linux系统中JVM内存2GB上限的详解
- 了解Java虚拟机JVM的基本结构及JVM的内存溢出方式
- Java堆空间占满的gc日志实例
- JVM调优之Tomcat启动参数配置及详解(一)
- java动态代理模式
- Groovy Meta Object Protocol
- java类文件结构
- xms/xmx/xss在kette中的调优设置
- JVM工作原理和特点
- JVM性能调优监控工具jps、jstack、jstat、jmap、jinfo使用详解