我的类的对象保存从外部数据库检索的信息。数据库中有一个 CLOB 类型的列,它有 1M 大小。我不希望对象将其保存在内存中。所以我只在对象的字段中保留保存信息的本地文件的路径。但我不希望这个文件是持久的。我希望在对象被垃圾收集器销毁后将其删除。如何在 Java 中实现这个?我想我的类应该扩展一些其他特定的类,然后重写我明确删除文件的方法。
UPD:我正在使用 Java servlet 和 Apache Tomcat 制作一个动态网络应用程序。这个 webapp 与外部数据库一起工作。 Webapp 在 Linux 上运行。它具有某种分层架构,使用域、商店和 servlet。上述对象的生命周期只是在 servlet 中调用 doGet() 或 doPost() 方法的持续时间。
最佳答案
您想覆盖 Object.finalize
。这是气馁。为什么?参见 https://softwareengineering.stackexchange.com/questions/288715/is-overriding-object-finalize-really-bad
当您知道已完成文件时,我们鼓励您明确清理该文件。
关于java - 垃圾收集器销毁对象后删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35380664/