Java有没有办法在耗尽内存之前做某事。例如,保留先前文档状态的列表(用于撤消),并且只有在要精疲力尽的内存时才删除非常旧的状态?

有帮助吗?

解决方案

例如,保留先前文档状态的列表(用于撤消),并且只有在要精疲力尽的内存时才删除非常旧的状态?

您也许可以与 SoftReference. 。还要注意 java.lang.ref 包裹。如果仅通过a到达对象 SoftReference, ,在发生不记忆错误之前,它们将被收集。但是请注意,VM不需要在此类事件之前保留这些参考文献或对它们可能被清除的顺序保证。您最好将它们与某种形式的持久性结合在一起。

其他提示

是的,当然有可能。

我可能会使用一个清单 softreferenceS对于您以前的文件状态。这些保证在发生不记忆力的例外之前被处置。

在某个周期性的间隔中,您可以清除列表中的空引用。

我还建议对最近的状态进行正常参考,以便您始终保证至少一个撤消:-)

这将取决于JVM的实施,但是如果您很幸运,JVM将保留最新的状态并处置最古老的状态。在JVM规格中,这不是严格要求的,而是建议的行为。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top