您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jvm