C/C++의 경우 main()은 항상 정수 (성공을 나타 내기 위해 0, 실패를 나타 내기 위해 0이 아닌 값)를 반환해야합니다. 프로그램이 실행될 때이를 이해할 수 있으며 프로세스가되고 모든 프로세스는 종료 상태를 가져야합니다.이 상태는 echo $를 수행하여 얻을 수 있습니까? 프로세스가 끝나면 쉘에서.주 기능은 아무 것도 반환하지 않습니다. 왜?
이제 주 방법이 Java에서 아무 것도 반환하지 않는다는 것을 이해할 수 없습니까? 프로그램이 JVM에서 실행되고 JVM 프로세스가 종료 상태를 반환 할 수 있다는 사실과 관련이 있습니까?
명확히하십시오.
감사합니다,
로저
내 프로그램에 System.exit()이 없으면 JVM이 0을 추가합니다. 내 프로그램에 0이 아닌 값이 포함 된 명시 적 호출이 있으면 exit로 사용됩니다 상태? – gameover
main 메소드가 종료되면 Java 프로세스가 반드시 종료하지 않으므로 main 메소드에서 프로세스의 종료 코드를 반환하는 것이 부적절합니다 (kai1968가 지적했듯이). – jarnbjo
아직도 틀립니다. kill 또는 System.exit과 같은 도구를 사용하여 다중 스레드 Java 응용 프로그램을 중지하지 않아도됩니다. 힌트 : 가장 간단한 "Hello world"Java 애플리케이션조차도 mutlithreaded (Java VM은 다른 관리 문제에 대해 자체 스레드를 시작 함)이며, 기본 메소드가 완료되면 종료됩니다. – jarnbjo