Java的HttpURLConnecction的getInputStream是否需要close?
迷茫
迷茫 2017-04-18 10:49:55
0
2
493

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

这个流是否是系统维护的?
因为不是我打开的

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(2)
巴扎黑

Prenez l'habitude de désactiver tous les InputStreams et OutputStreams qui ne sont plus utilisés, que l'implémentation derrière l'API les désactive automatiquement ou non pour vous.
S'il est écrit en Java 1.7+, il est très simple d'utiliser try-with-resource :

try (InputStream in = urlConnection.getInputStream()) {
    ...
} // 这里会自动调用 in.close();

Les scènes similaires incluent :

  • Les PreparedStatement, ResultSet, etc. de JDBC implémentent tous l'interface AutoCloseable. En théorie, tant que la connexion est fermée, les PreparedStatement, ResultSet, etc. générés par celle-ci seront également automatiquement fermés, mais c'est fortement le cas. Il est recommandé de générer ces ressources. Utilisez try-with-resource pour gérer.

  • Il en va de même pour les ressources telles que getInputStream/getOutputStream dans ServletRequest/ServletResponse.

洪涛

Obligatoire

Lorsque les opérations simultanées sont très élevées, si vous ne le fermez pas, la surcharge sur les ressources système sera relativement importante.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal