成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java的HttpURLConnecction的getInputStream是否需要close?

瀏覽:133日期:2024-01-27 14:46:43

問題描述

RT,就醬Java的HttpURLConnecction的getInputStream是否需要close?

這個(gè)流是否是系統(tǒng)維護(hù)的?因?yàn)椴皇俏掖蜷_的

問題解答

回答1:

養(yǎng)成習(xí)慣所有不再用的InputStream和OutputStream都關(guān)掉就好了,不管API背后的實(shí)現(xiàn)有沒有自動(dòng)幫你關(guān)掉。如果用Java 1.7+寫的話,用try-with-resource處理起來就非常簡(jiǎn)單了:

try (InputStream in = urlConnection.getInputStream()) { ...} // 這里會(huì)自動(dòng)調(diào)用 in.close();

類似場(chǎng)景還有:

JDBC的PreparedStatement、ResultSet等都實(shí)現(xiàn)了AutoCloseable接口,理論上只要Connection被close掉,由它生成的這些PreparedStatement、ResultSet等也會(huì)自動(dòng)close掉,但強(qiáng)烈建議你產(chǎn)生這些資源的時(shí)候用try-with-resource來管理。

ServletRequest/ServletResponse中的getInputStream/getOutputStream等資源也是。

回答2:

需要

在并發(fā)操作非常高的情況下, 如果你不關(guān)閉, 對(duì)系統(tǒng)資源的開銷會(huì)比較大.

標(biāo)簽: java
相關(guān)文章: