하나의 완전한 자바 응용 프로그램 은 일반적으로 최소한 하나의 응용 프로그램의 끝 점 이 있어 야 한다.일반 프로그램 에 있어 시스템 개발 자 는 수요 와 개인의 선 호 에 따라 프로그램 종료 위치 에서 System.exit(0)또는 System.out(-1)을 추가 하여 프로그램 을 종료 하거나 이 명령 을 추가 하지 않 아 프로그램 이 자 연 스 럽 게 끝 날 때 까지 실 행 됩 니 다.예 를 들 어 다음 의 전형 적 인 코드 패키지 untitled 14; /** * This application is to demo how an applcation end */ public class Test { public Test() {} public static void main(String[] args) { Test test1 = new Test(); //................. System.out.println("hello world"); //Do something before system exit System.exit(0);//이 코드 를 쓰 지 않 고 프로그램 이 자 연 스 럽 게 끝 날 수도 있다.}간단 한 응용 시스템 에 대해 서 는 System.exit(0)코드 가 실행 되 기 전에 프로그램 이 종료 되 기 전에 해 야 할 일 을 추가 할 수 있 습 니 다.예 를 들 어 네트워크 연결 을 닫 고 데이터 베 이 스 를 닫 는 등 입 니 다.그러나 비교적 복잡 한 다 중 스 레 드 응용 에 있어 스 레 드 운행 상태 가 복잡 하기 때문에 우 리 는 프로그램 이 언제 끝 날 지 예측 하기 어렵다.어떻게 응용 프로그램 이 사건 을 끝 낼 때 우리 가 해 야 할 일 을 처리 할 수 있 습 니까?이것 은 자바 가 응용 프로그램의 종료 에 대한 이벤트 처리 메커니즘 을 사용 했다.현재 프로그램 대상 에 대한 획득,자 바 는 Runtime 정적 방법:Runtime.getRuntime()을 통 해 Runtime 의 void addShutdown Hook(Thread hook)법 을 통 해 자바 가상 컴퓨터 에 shutdown 갈고리 이 벤트 를 등록 합 니 다.그러면 프로그램 이 끝 날 때 스 레 드 hook 을 실행 합 니 다.실제 응용 할 때,프로그램 이 완성 되 기 전에 해 야 할 일 들 을 스 레 드 hook 을 통 해 직접 완성 하면 됩 니 다.********************************************************************************************************************************************************************************************************************************************/package untitled 14; import java.util.*; import java.io.*; /** * This application is used to demo how to hook the event of an application */ public class Untitled1 { public Untitled1() { doShutDownWork(); }/**********************************************************프로그램 종료 날 짜 를 d:\\\t.log 파일*******************************************************************************************************************************************************************************************\t.log"); System.out.println("Im going to end"); fw.write("the application ended! " + (new Date()).toString()); fw.close(); } catch (IOException ex) { } } }); *********************************************************************************************************************************************************************************************************=new Untitled 1(); long s = System.currentTimeMillis(); for (int i = 0; i < 1000000000; i++){//여기에 처리 코드 를 추가 합 니 다}long se=System.currentTimeMillis(); System.out.println(se - s); }}위 프로그램 에서 Runtime.getRuntime().addShutdown Hook(new Thread()이벤트 감청 을 추가 하고 시스템 종료 메 시 지 를 캡 처 한 다음 에 우리 가 필요 로 하 는 작업 을 수행 하여 프로그램 을 더욱 튼튼 하 게 하 는 것 을 볼 수 있 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: