【问题标题】:Object Creation Logic in JavaJava中的对象创建逻辑
【发布时间】:2014-11-24 17:59:24
【问题描述】:

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

考虑两个类 A、B

Class A {

public A() {
//Do Something
}

}

Class B() extends A{

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

从主要 B b = 新 B();

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

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

【问题讨论】:

标签: java jvm


【解决方案1】:

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

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

最后,有关您问题第一部分的更详细答案,您可以查看here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    相关资源
    最近更新 更多