> Java > java지도 시간 > 본문

Java에서 Scanner 및 System.in을 사용하여 리소스 누수 처리

Susan Sarandon
풀어 주다: 2024-10-19 06:11:30
원래의
298명이 탐색했습니다.

Handling Resource Leaks with Scanner and System.in in Java

Java Scanner를 사용해 본 적이 있다면 특히 파일을 읽을 때 리소스 누출을 방지하기 위해 스캐너를 닫는 것이 중요하다는 것을 알고 계실 것입니다. 하지만 System.in의 경우에는 다릅니다.

System.in을 닫아야 합니까?

일반적으로 System.in을 닫으면 향후 입력이 중단되므로 닫지 않는 것이 좋습니다. 프로그램의 다른 부분에 여전히 사용자 입력이 필요한 경우 문제가 발생할 수 있습니다.

안전한 솔루션: 리소스 사용 시도

Java의 리소스 사용 시도를 사용하면 쉬워집니다. System.in을 닫지 않고 스캐너를 자동으로 닫아 사용자 입력을 안전하게 읽을 수 있습니다.

IDE가 리소스 누출에 대해 경고하는 이유는 무엇입니까?

일부 IDE(예: Eclipse 또는 IntelliJ)에서는 Scanner를 통해 잠재적인 리소스 누수를 표시하여 모든 인스턴스를 동일하게 처리할 수 있습니다. 이는 특히 System.in을 사용할 때 오해의 소지가 있을 수 있지만 이러한 경고는 무시해도 됩니다.

모범 사례:

try-with-resources를 사용하여 System.in을 열어둔 상태에서 스캐너가 제대로 닫히는지 확인하세요.
System.in을 수동으로 닫지 마십시오. JVM이 처리하도록 하세요.

예제 코드:

try (Scanner objName = new Scanner(System.in)) {
    System.out.println("What's your name?");
    String userName = objName.nextLine();

    System.out.println("Hello, " + userName + "!");
}
로그인 후 복사

위 내용은 Java에서 Scanner 및 System.in을 사용하여 리소스 누수 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿