java - 垃圾收集器销毁对象后删除文件

标签 java performance temporary-files resource-cleanup

我的类的对象保存从外部数据库检索的信息。数据库中有一个 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/

相关文章:

php - 我的 Sql 案例与 PHP if-else 性能对比

mysql - 我应该用什么代替 IN?

postgresql - Postgresql 的性能报告

java - 如何清理在 servlet 中创建并返回给用户的临时文件?

python - 值错误: I/O operation on closed file in Pyramid

java - 将笛卡尔像素数据数组转换为纬度/经度像素数据数组

java - 如何定位这个元素呢?尝试使用各种等待,线程 hibernate 但元素拒绝被定位

python - 使用 tempfile 为我所有的临时文件创建一个子目录

java - 如何通过静态分析估计变量的值?

java - Spring DI,工厂服务