java - 从方法中获取实例

标签 java constructor garbage-collection

在给定的链接中,查看给出的选项并选择描述此代码中最糟糕的事情的选项:

https://gist.github.com/d34th4ck3r/49e9ae56458d4ed0f8ae

最佳答案

More than one instance of Mango can be created

是的:如果两个线程同时执行getInstance,它们都可以看到INSTANCE null并创建一个新实例

A Mango will never be created

嗯...如果你调用getInstance,就会创建一个实例,所以不会。

The constructor is private and can't be called

不,可以通过getInstance从类内部调用它

value can be garbage collected, and the call to getInstance may return garbage data

INSTANCE 只要可访问,就不会被垃圾回收 - 对于静态变量,即在 JVM 的整个生命周期内 (*)。

(*) 更准确地说,只要类被加载,它就不会被垃圾回收。如果关联的类加载器本身被垃圾回收,则可以卸载该类。

关于java - 从方法中获取实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15408791/

相关文章:

JavaScript 函数() 和函数()

flash - 垃圾回收在 AS3 中是如何工作的?

garbage-collection - 影子绑定(bind)会被 GCed 吗?

java - 签名 jar 篡改验证

java - 为 jvm 使用所有可用的系统内存

constructor - 为什么 Kotlin 有两种类型的构造函数?

java - 需要帮助来理解可用的 JVM "Garbage Collection Algorithm"和 "Garbage Collector"

java同时迭代list和addFirst

java - 从 Angular 解析日期

javascript - 检测构造函数(Symbol)——ES6