【发布时间】:2021-04-04 09:17:19
【问题描述】:
程序的终止是否有效地清理了资源,或者仍然需要明确地完成?如果没有任何好处,我会删除样板。
我理解在资源使用短于程序生命周期的长期程序的情况下的需求。但是当资源(如单例 HTTP 客户端)一直使用到最后时又会怎样呢?
1。没有明确的清理
这个版本会在程序退出时清理东西吗?
public static void main(String[] args) {
CloseableHttpClient client = HttpClients.createDefault();
// execute requests
}
2。使用资源尝试清理
这个版本显然可以清理,但需要额外的代码。
public static void main(String[] args) {
try (CloseableHttpClient client = HttpClients.createDefault()) {
// execute requests
} catch (IOException e) {
// exception handling
}
}
【问题讨论】:
标签: java resources resource-cleanup