文章詳情頁
Java的HttpURLConnecction的getInputStream是否需要close?
瀏覽:112日期:2024-01-27 14:46:43
問題描述
RT,就醬Java的HttpURLConnecction的getInputStream是否需要close?
這個流是否是系統(tǒng)維護的?因為不是我打開的
問題解答
回答1:養(yǎng)成習慣所有不再用的InputStream和OutputStream都關掉就好了,不管API背后的實現(xiàn)有沒有自動幫你關掉。如果用Java 1.7+寫的話,用try-with-resource處理起來就非常簡單了:
try (InputStream in = urlConnection.getInputStream()) { ...} // 這里會自動調(diào)用 in.close();
類似場景還有:
JDBC的PreparedStatement、ResultSet等都實現(xiàn)了AutoCloseable接口,理論上只要Connection被close掉,由它生成的這些PreparedStatement、ResultSet等也會自動close掉,但強烈建議你產(chǎn)生這些資源的時候用try-with-resource來管理。
ServletRequest/ServletResponse中的getInputStream/getOutputStream等資源也是。
回答2:需要
在并發(fā)操作非常高的情況下, 如果你不關閉, 對系統(tǒng)資源的開銷會比較大.
標簽:
java
相關文章:
1. mysql - 這種分級一對多,且分級不平衡的模型該怎么設計表?2. python - 數(shù)據(jù)無法插入到mysql表里3. python - pip install出現(xiàn)下面圖中的報錯 什么原因?4. PHP類屬性聲明?5. javascript - vue 2.0 :key的作用6. mysql scripts提示 /usr/bin/perl: bad interpreter7. atom開始輸入!然后按tab只有空格出現(xiàn)沒有html格式出現(xiàn)8. javascript - js setTimeout在雙重for循環(huán)中如何使用?9. javascript - Object.define 可以監(jiān)聽object變化,那基本類型變量如何監(jiān)聽10. java - 創(chuàng)建maven項目失敗了 求解決方法
排行榜

熱門標簽