여러 번 나는 응용 프로그램이 항상 열려있는 모든 리소스를 명시 적으로 닫아야한다는 내용을 만났습니다.리소스를 항상 닫는 것이 중요합니까?
프로그래밍에 대한 나의 접근 방식은 다소 실용적이며 분명히 이점을 볼 수없는 관습을 맹목적으로 따르는 것을 좋아하지 않습니다. 그러므로 내 질문.
의 그런 가정 해 봅시다 :
- 내가 그것은 몇 가지 자원 (예 : 파일, 데이터베이스 연결, 원격 스트림)를 열고이를 처리
- 작은 응용 프로그램을 가지고 그런 다음 몇 분을 작동 그것은 종료
- (언어 관련이있는 경우)의는
것은 정말 CL 걱정해야합니까는 자바의 가정 해 봅시다 내가 열어 놓은 모든 자원을 osing? 응용 프로그램/가상 컴퓨터가 종료 될 때 열려있는 모든 리소스가 닫히거나 해제 될 것입니다. 내가 맞습니까?
사실, 작고 짧은 작업 응용 프로그램에서 리소스를 닫는 데 신경을 쓰는 확실한 이유가 있습니까?
UPDATE :
문제는 순전히 가정이지만, 그것에 대해을 배려하지 않는 인수가 난 그냥 몇 가지 빠른 스크립트 함께 해킹 할 수 있으며, 직접 관련이없는 불필요한 코드를 작성하지 않을 것입니다 손의 문제 : 나는 걱정하지 않는다 예외를 처리, 자원을 닫는 모든 자세한 시도 - 캐치 마지막으로 물건을 등
질문의 요점은 어떤 실제 결과가 있는지 여부입니다 하지 마라.
질문에 대답 해주십시오 : 리소스를 닫지 않는 이유는 무엇입니까 **? –
"응용 프로그램/가상 컴퓨터가 종료 될 때 열어 본 모든 리소스가 닫히거나 해제 될 것으로 추측합니다." 내 생각 엔이게 사실이 아니야. VM을 닫지 않고 VM을 종료하면 OS가 해당 스트림/소켓을 닫아야 할 수 있습니다. – kosa
경고를 없애기 위해서는 .close()와 마찬가지로 많은 작업을하지 않아야합니다. 또한 좋은 형태입니다. –