文章詳情頁
Java的HttpURLConnecction的getInputStream是否需要close?
瀏覽:156日期:2024-01-27 14:46:43
問題描述
RT,就醬Java的HttpURLConnecction的getInputStream是否需要close?
這個流是否是系統維護的?因為不是我打開的
問題解答
回答1:養成習慣所有不再用的InputStream和OutputStream都關掉就好了,不管API背后的實現有沒有自動幫你關掉。如果用Java 1.7+寫的話,用try-with-resource處理起來就非常簡單了:
try (InputStream in = urlConnection.getInputStream()) { ...} // 這里會自動調用 in.close();
類似場景還有:
JDBC的PreparedStatement、ResultSet等都實現了AutoCloseable接口,理論上只要Connection被close掉,由它生成的這些PreparedStatement、ResultSet等也會自動close掉,但強烈建議你產生這些資源的時候用try-with-resource來管理。
ServletRequest/ServletResponse中的getInputStream/getOutputStream等資源也是。
回答2:需要
在并發操作非常高的情況下, 如果你不關閉, 對系統資源的開銷會比較大.
標簽:
java
相關文章:
1. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????2. 在應用配置文件 app.php 中找不到’route_check_cache’配置項3. html按鍵開關如何提交我想需要的值到數據庫4. css - width設置為100%之后列表無法居中5. ios - vue-cli開發項目webstrom會在stylus樣式報錯,飆紅,請大神幫忙6. css3 - 怎么感覺用 rem 開發的不多啊7. python - 在pyqt中做微信的機器人,要在表格中顯示微信好友的名字,卻顯示不出來,怎么解決?8. html5 - 用Egret寫的小游戲,怎么分享到微信呢?9. javascript - 一個頁面有四個圖片,翻頁的時候想固定住某個圖片然后翻頁,如何實現呢?10. objective-c - 自定義導航條為類似美團的搜索欄樣式
排行榜
