이해가 안됩니다. 예를 들어, 코드에서 OutputStream 유형의 변수를 사용하는 경우, 사용을 중단 할 때 close()를 호출해야합니다. 왜 이렇게 구현되지 않았습니까? GC는 close()를 호출 할 때 close 이 변수는?닫기 가능한 클래스에서 close()를 호출 할 수없는 이유는 무엇입니까?
업데이트 : 확인 지금까지 체결 한 것 : 관리되지 않는 미해결 자료를 공개하는 것은, 그것은 수뿐만 아니라 우리가 뒤에 지금 내부 동작을하지 않는 것이 더 중요한 것은 메모리를 해제에 관한의 양에 한계가 존재 이 리소스 (연결 수/처리기)가 가능한 한 빨리 해제해야하는 이유입니다. 내가 맞습니까? 왜냐하면 그것이 메모리에 관한 것이라면 GC가 관리되는 방법으로하는 것처럼 작동하지 못하는 이유를 알지 못하기 때문입니다.
대부분의 스트림이 구현되어 finalize가 close를 호출하지만 finalize가 호출되는 gurentee가 없습니다. – MadProgrammer
업데이트 정보 : 정확하게는 메모리에 관한 것이 아니라 JVM 외부의 것들입니다. –