垃圾收集器何时会擦除使用单例模式的对象的实例?

2023-07-12Java开发问题
3

本文介绍了垃圾收集器何时会擦除使用单例模式的对象的实例?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

垃圾收集器何时会清除使用单例模式的对象实例?

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.

这篇关于垃圾收集器何时会擦除使用单例模式的对象的实例?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

如何使用 JAVA 向 COM PORT 发送数据?
How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)...
2024-08-25 Java开发问题
21

如何使报表页面方向更改为“rtl"?
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)...
2024-08-25 Java开发问题
19

在 Eclipse 项目中使用西里尔文 .properties 文件
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)...
2024-08-25 Java开发问题
18

有没有办法在 Java 中检测 RTL 语言?
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)...
2024-08-25 Java开发问题
11

如何在 Java 中从 DB 加载资源包消息?
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)...
2024-08-25 Java开发问题
13

如何更改 Java 中的默认语言环境设置以使其保持一致?
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)...
2024-08-25 Java开发问题
13