Java中的对象创建逻辑

时间:2014-09-30 07:33:35

标签: java jvm

我正在尝试了解JVM的内存管理方案

考虑两个类A,B

Class A {

public A() {
//Do Something
}

}

Class B() extends A{

public B(){
super();
// DO something again
}
}

来自主要     B b = new B();

据我所知,类加载器将加载A,B并将分别创建2个对象。是否有任何其他对象可以创建?

我的问题的第二部分也是,在访问Java Visual VM时,我看到了Java NIO包的对象已经创建。有什么办法可以阻止JVM创建与我的项目无关的对象吗?

1 个答案:

答案 0 :(得分:1)

第一个问题的答案是,只会创建一个对象。基本上,对于每个“新”语句,都会创建一个对象。所以我认为你对两个被创建对象的评估是错误的。

其次,我认为对于创建的对象(与您的项目无关),您对JVM没有任何控制权。

最后,如果您对问题的第一部分有更详细的解答,可以查看here