Java는 언제 URL에 대한 연결을 해제합니까? URL 또는 URLConnection에 close () 메서드가 표시되지 않으므로 요청이 완료되는 즉시 연결이 해제됩니까? 저는 주로 예외 처리기에서 정리를해야하는지 확인하고 싶습니다.
try {
URL url = new URL("http://foo.bar");
URLConnection conn = url.openConnection();
// use the connection
}
catch (Exception e) {
// any clean up here?
}
답변
프로토콜에 지정된 특정 프로토콜에 따라 다릅니다. 일부는 지속적인 연결을 유지하고 다른 일부는 연결이 제공하는 입력 또는 출력 스트림에서 호출이 닫힐 때 연결을 닫습니다. 그러나 URLConnection에서 연 스트림을 닫는 것을 기억하는 것 외에는 수행 할 수있는 다른 작업이 없습니다.
java.net.URLConnection에 대한 javadoc에서
요청 후 URLConnection의 InputStream 또는 OutputStream에서 close () 메서드를 호출하면 특정 프로토콜 사양이 다른 동작을 지정하지 않는 한이 인스턴스와 관련된 네트워크 리소스를 해제 할 수 있습니다.