我认为在终止对象之前总会调用Object finalize()。在此测试中,我观察到当将对象添加到集合并清除集合时,不会在对象上调用finalize。它绝对被列在名单上。注意,我将转义分析关闭-XX:-DoEscapeAnalysis以防止优化。有人可以向我解释一下吗?
List<MyClass> list=new ArrayList<>();
MyClass c=new MyClass();
listM.add(c);
list.clear();
list=null;