Programing

프로그램 내에서 Java 앱을 종료하는 방법

lottogame 2020. 6. 19. 19:24
반응형

프로그램 내에서 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

반응형