gpt4 book ai didi

Java匿名对象和垃圾收集第-1部分

转载 作者:行者123 更新时间:2023-12-01 16:59:09 24 4
gpt4 key购买 nike

public void function(){
new Student().setName("john");
}

public void function(){
Student student = new Student();
student.setName("john");
}

Does GC behave differently for both of the snip?

I mean which case (CASE-1/CASE-2) is more GC efficient in terms of Time?

最佳答案

Does GC behave differently for both of the snip?

没有。调用 setName 方法后,使用 new Student 创建的 Student 对象将不再可访问,并且可以被垃圾回收。

I mean which case (CASE-1/CASE-2) is more GC efficient in terms of Time?

两者都没有更高效。第一种情况在字节码中会少一个赋值。这不会影响 GC。

来自JLS

A reachable object is any object that can be accessed in any potential continuing computation from any live thread.

在这两个片段中,调用 setName 后,Student 对象不再可访问(假设构造函数和 setName 方法不可用)不会泄漏对该对象的引用 - 但即使在这种情况下,两个片段的行为也是相同的)。

关于Java匿名对象和垃圾收集第-1部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29081362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com