Java HttpURLConnection und Pooling

Nachdem ich alle Arten von Dokumenten über Java HttpURLConnection gelesen habe, bin ich immer noch ziemlich verwirrt, was für eine Art von Pooling dies bewirkt und wie es Verbindungen übergibt.

Zum Beispiel der folgende Code

URL url = new URL(someUrl);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
OutputStream os = connection.getOutputStream();
InputStream is = connection.getInputStream();

/** Write something to os and flush */
/** Read from is */

os.close();
is.close();
connection.disconnect();

Tue beidesos undis Müssen gespült und geschlossen werden, damit der zugrunde liegende Sockel wiederverwendbar ist?

Willeconnection.disconnect() schließe den darunter liegenden Socket (und mache ihn daher nicht mehr verwendbar)? Hatkeep-alive dieses Verhalten beeinflussen?

Wenn ich verschiedene URL-Objekte verwende, aber mit derselben URL, wird dasconnectionon ihnen erstellte @s teilen sich die zugrunde liegenden Sockets? Wie wäre es, wenn der Host-Teil der URL identisch ist, die Pfade jedoch unterschiedlich sind?

Wann werden gepoolte Verbindungen zerstört?

Welche Systemeigenschaft steuert die Größe des Pools?

Zusätzlich, wenn Sie auch die Android-Version mit Java vergleichen könnten, wäre es großartig.

Vielen Dan

Antworten auf die Frage(4)

Ihre Antwort auf die Frage