Runtime — 런타임 환경 인터페이스 클래스

Runtime — 런타임 환경 인터페이스 클래스

모든 자바 애플리케이션은 Runtime 클래스의 단일 인스턴스를 가져, 애플리케이션이 실행되는 환경과 인터페이스할 수 있게 해 줘요. 현재 런타임은 getRuntime 메서드로 얻을 수 있어요. 애플리케이션은 이 클래스의 인스턴스를 직접 만들 수 없어요.

종료 순서(Shutdown Sequence): 자바 가상 머신은 여러 이벤트에 응답하여 종료 순서를 시작해요 — 살아있는 비데몬 스레드 수가 처음으로 0이 될 때, Runtime.exit 또는 System.exit 메서드가 처음 호출될 때, 또는 운영 체제에서 인터럽트나 신호 같은 외부 이벤트가 발생할 때.

출처: Java API Reference

본문

public static Runtime getRuntime() — 이 자바 애플리케이션과 연결된 현재 런타임 객체를 반환해요.

public void exit(int status) — 정리 후크(shutdown hook)와 파이널라이저를 실행한 뒤 현재 자바 가상 머신을 종료해요. 인자 status는 종료 상태 코드예요.

public void addShutdownHook(Thread hook) — 자바 가상 머신이 종료될 때 실행될 새 정리 후크를 등록해요. 후크는 VM이 종료 시퀀스를 시작할 때 시작되는 스레드예요.

public boolean removeShutdownHook(Thread hook) — 이전에 등록된 정리 후크를 제거해요. 성공하면 true를 반환해요.

public void halt(int status) — 정리 후크를 실행하지 않고 자바 가상 머신을 강제로 종료해요.

@Deprecated(since="18") public Process exec(String command) — 지정된 명령을 별도의 프로세스에서 실행해요. 문자열 명령 기반 exec 메서드들은 사용이 중지되어, ProcessBuilder를 사용하는 것이 권장돼요.

public Process exec(String[] cmdarray) / exec(String[] cmdarray, String[] envp) / exec(String[] cmdarray, String[] envp, File dir) — 지정된 명령 배열로 프로세스를 실행해요. 환경(envp)과 작업 디렉터리(dir)를 지정할 수 있어요.

public int availableProcessors() — 자바 가상 머신에 사용 가능한 프로세서의 수를 반환해요.

public long freeMemory() — 자바 가상 머신에서 할당 가능한 여유 메모리의 양(바이트)을 반환해요.

public long totalMemory() — 자바 가상 머신이 사용하는 총 메모리 양(바이트)을 반환해요.

public long maxMemory() — 자바 가상 머신이 사용하려고 시도할 최대 메모리 양(바이트)을 반환해요.

public void gc() — 가비지 컬렉터를 실행해요. 사용하지 않는 객체가 차지하는 메모리를 회수하도록 요청해요.

@Deprecated(since="18", forRemoval=true) public void runFinalization() — 대기 중인 모든 객체의 파이널라이제이션을 실행해요. 사용이 중지됐어요.

public void load(String filename) — 지정된 파일 이름의 네이티브 라이브러리(동적 라이브러리)를 로드해요.

public void loadLibrary(String libname) — 지정된 이름의 네이티브 라이브러리를 로드해요.

public static Runtime.Version version() — 런타임과 런타임 환경에 대한 정보를 담은 Runtime.Version 객체를 반환해요.

더 알아보기 (Learn more)