When would the garbage collector erase an instance of an object that uses Singleton pattern?(垃圾收集器何时会擦除使用单例模式的对象的实例?)
问题描述
垃圾收集器何时会清除使用单例模式的对象实例?
When would the garbage collector erase an instance of an object that uses Singleton pattern?
物体是否比普通物体停留的时间更长?
Does an object hang around any longer than a regular object?
如何在 Java 中手动强制删除/垃圾回收对象?
How can you manually force deletion/garbage collection of an object in Java?
谢谢.
推荐答案
有一个对单例的静态引用,所以在类加载器符合垃圾回收条件之前,它不符合垃圾回收条件.
There's a static reference to a singleton, so it won't be eligible for garbage collection until the classloader is eligible for garbage collection.
您不能强制对任何对象进行垃圾回收;您可以请求垃圾收集器使用 System.gc() 但这只是一个请求.
You can't force any object to be garbage collected; you can request that the garbage collector runs with System.gc() but it's only a request.
如果您真的想让单例"符合垃圾回收的条件,您可能希望有一种方法将静态变量设置为 null(并希望没有其他任何东西获取引用的副本).显然,下次有人请求实例时,需要重新创建它……当然,此时它并不是真正的单例.
If you really want to make a "singleton" eligible for garbage collection, you'd probably want to have a method to set the static variable to null (and hope that nothing else had taken a copy of the reference). Obviously the next time anyone asked for an instance, it would need to be recreated... at which point it's not really a singleton, of course.
这篇关于垃圾收集器何时会擦除使用单例模式的对象的实例?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:垃圾收集器何时会擦除使用单例模式的对象的实例?
基础教程推荐
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- RabbitMQ:消息保持“未确认"; 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
