System — 시스템 유틸리티 클래스
System — 시스템 유틸리티 클래스
System 클래스는 몇 가지 유용한 클래스 필드와 메서드를 포함해요. 인스턴스화할 수 없어요. System 클래스가 제공하는 기능 중에는 표준 입력·표준 출력·오류 출력 스트림, 외부에서 정의된 속성과 환경 변수에 접근, 파일과 라이브러리 로드 수단, 배열의 일부를 빠르게 복사하는 유틸리티 메서드가 있어요. System.Logger 인스턴스는 로그 메시지를 기록하며, 그 메시지는 기반 로깅 프레임워크로 라우팅돼요.
본문
public static final InputStream in — 표준 입력 스트림이에요.
public static final PrintStream out — 표준 출력 스트림이에요.
public static final PrintStream err — 표준 오류 출력 스트림이에요.
public static void setIn(InputStream in) ... setOut(PrintStream out) ... setErr(PrintStream err) — 표준 스트림을 다시 할당해요.
public static Console console() — 현재 자바 가상 머신에 연결된 Console 객체를 반환해요. 연결된 콘솔이 없으면 null을 반환해요.
public static Channel inheritedChannel() throws IOException — 이 가상 머신이 시작될 때 상속된 채널을 반환해요.
@Deprecated(since="17", forRemoval=true) setSecurityManager(...) / getSecurityManager() — 보안 관리자 관련 사용 중지 메서드예요.
public static long currentTimeMillis() — 현재 시간을 밀리초 단위 1970-01-01 UTC 이후의 값으로 반환해요.
public static long nanoTime() — 고해상도 시간 소스를 기준으로 현재 값을 나노초로 반환해요. 경과 시간 측정에 적합하며, 실제 시간과는 무관해요.
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) — 배열의 일부를 다른 배열로 복사해요.
public static int identityHashCode(Object x) — 주어진 객체의 신원(identity) 해시 코드를 반환해요. Object.hashCode()가 재정의되었더라도 항상 같은 해시를 줘요.
public static Properties getProperties() — 현재 시스템 속성 집합을 반환해요.
public static String lineSeparator() — 시스템의 줄 구분 문자열을 반환해요.
public static void setProperties(Properties props) — 시스템 속성을 지정된 것으로 설정해요.
public static String getProperty(String key) / getProperty(String key, String def) — 지정된 키의 시스템 속성을 반환해요. 없으면 def를 반환해요.
public static String setProperty(String key, String value) — 시스템 속성을 설정해요.
public static String clearProperty(String key) — 시스템 속성을 제거해요.
public static String getenv(String name) / getenv() — 환경 변수의 값을 반환하거나 모든 환경 변수 맵을 반환해요.
getLogger(String name) — 지정된 이름의 System.Logger를 반환해요.
public static void exit(int status) — 현재 실행 중인 자바 가상 머신을 종료해요. Runtime.getRuntime().exit(status)를 호출해요.
public static void gc() — 가비지 컬렉터를 실행해요. Runtime.getRuntime().gc()를 호출해요.
@Deprecated runFinalization() — 사용 중지 메서드예요.
public static void load(String filename) ... loadLibrary(String libname) ... mapLibraryName(String libname) — 네이티브 라이브러리를 로드하거나 라이브러리 이름을 매핑해요.