프로그램 내에서 Java 앱을 종료하는 방법
코드로 Java 응용 프로그램을 종료하는 가장 좋은 방법은 무엇입니까?
System.exit()
이 목적으로 사용할 수 있습니다 .
오라클의 Java 8 설명서에 따르면 :
public static void exit(int status)
현재 실행중인 Java Virtual Machine을 종료합니다. 인수는 상태 코드 역할을합니다. 일반적으로 0이 아닌 상태 코드는 비정상 종료를 나타냅니다 .
이 메소드는 런타임 클래스에서 exit 메소드를 호출합니다. 이 메소드는 정상적으로 리턴되지 않습니다.
통화
System.exit(n)
는 사실상 통화 와 동일합니다.
Runtime.getRuntime().exit(n)
System.exit(0);
"0"은 프로그램을 호출 한 사람이 모든 것이 정상임을 알 수 있습니다. 그러나 오류로 인해 종료 System.exit(1);
되는 경우 특정 오류에 해당하는 0이 아닌 다른 숫자 를 사용해야 합니다.
또한 다른 사람들이 언급했듯이 먼저 청소하십시오! 파일 및 기타 열린 리소스를 닫는 것이 포함됩니다.
System.exit(int i)
을 사용하지만보다 일반적인 shutdown()
방법에 포함시킬 것입니다. 여기에는 "정리"단계도 포함하고 소켓 연결, 파일 설명자를 닫은 다음로 종료합니다 System.exit(x)
.
System.exit()
일반적으로 가장 좋은 방법은 아니지만 응용 프로그램에 따라 다릅니다.
애플리케이션을 종료하는 일반적인 방법은 main()
메소드 를 종료하는 것입니다. 그래픽 사용자 인터페이스 (AWT, Swing 등)가있는 응용 프로그램의 경우와 같이 다른 비 데몬 스레드가 실행중인 경우에는 작동하지 않습니다. 이러한 응용 프로그램의 경우 GUI 이벤트 루프를 종료하는 방법을 찾거나 (AWT 또는 Swing에서 가능한지 알 수 없음) 호출하십시오 System.exit()
.
사용 dispose();
은 프로그램을 닫는 데 매우 효과적인 방법입니다.
사용 System.exit(x)
하면 상호 작용 창이 재설정되고 정보가 모두 필요하다고 가정합니다.
Jon에 동의하고 응용 프로그램이 무언가에 반응하게하고 System.exit ()를 호출하십시오.
다음을 확인하십시오.
- 적절한 종료 값을 사용하십시오. 0은 정상적인 종료입니다. 다른 것은 오류가 있음을 나타냅니다.
- 모든 입력 및 출력 스트림을 닫습니다. 파일, 네트워크 연결 등
- 특히 오류로 인해 종료 이유를 기록하거나 인쇄합니다.
답은 System.exit ()이지만 프로그램이 중단되면 좋지 않습니다. 청소, 파괴하려는 의도는 없습니다.
질문에 대한 두 가지 간단한 답변이 있습니다.
이것이 "전문적인 방법"입니다 :
//This just terminates the program.
System.exit(0);
이것은 더 성가신 방법입니다.
//This just terminates the program, just like System.exit(0).
return;
Runtime.getCurrentRumtime().halt(0);
System.exit()
당신이 원하는 것을 할 것입니다. 그러나 대부분의 경우 스레드를 종료하고 기본 스레드를 활성 상태로 두려고 할 수 있습니다. 이렇게하면 작업을 종료 할 수 있지만 앱을 다시 시작하지 않고도 다른 작업을 시작할 수 있습니다.
System.exit (ABORT); 프로세스가 즉시 종료됩니다.
올바른 방법으로 수행해야합니다.
mainFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
mainFrame.addWindowListener(new WindowListener() {
@Override
public void windowClosing(WindowEvent e) {
if (doQuestion("Really want to exit?")) {
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.dispose();
}
}
참고 URL : https://stackoverflow.com/questions/2670956/how-to-quit-a-java-app-from-within-the-program
'Programing' 카테고리의 다른 글
HTML-파일 이름을 선택한 후 이미지 표시 (0) | 2020.06.19 |
---|---|
'where'절의 SQL 스위치 / 케이스 (0) | 2020.06.19 |
특정 MySQL 테이블이 차지하는 디스크 공간을 어떻게 확인할 수 있습니까? (0) | 2020.06.19 |
git을 사용하여 모든 분기에서 문자열을 어떻게 검색 할 수 있습니까? (0) | 2020.06.19 |
dicts 목록에서 값 목록 가져 오기 (0) | 2020.06.19 |