System
java.lang
- os의 일부 기능에 접근
- 키보드 입력
- 모니터 출력
- 메모리
- 시간
- 환경변수
static methods
System.exit(int)
: 0 정상 종료, 나머지 비정상 종료
System.gc()
: 가비지 컬렉션 요청
System.setSecurityManager(SecurityManager)
System.getProperty(String) -> String
: 시스템 속성값 읽기
System.getProperties() -> Properties
System.getenv(String) -> String
: 환경변수 읽기
System.arraycopy(original,origStart,copy,copyStart,length)
: 배열 복사(얕은 복사)
System.currentTimeMillis() -> long
: 밀리 세컨드 단위
System.nanoTime() -> long
: 나노 세컨드 단위
standard 입출력 변경
System.setOut(PrintStream out)
System.setErr(PrintStream err)
System.setIn(InputStream in)
int[] orig = {1,2,3}
int[] cp = new int[5];
System.arraycopy(orig,0,cp,0,3);
static fields
- 표준 입출력
System.in : InputStream
System.out : PrintStream
System.err : PrintStream
SecurityManager
checkExit(int status) -> void
System Property
- JVM 시작할때 설정되는 시스템 속성값
- key-value
java.version, java.home
os.name, file.separator
user.name, user.home, user.dir
Console
- 내부적으로
PrintWriter
, Reader
, Writer
fields 를 가짐
console 생성
System.console() -> Console
methods
readLine() -> String
: enter 이전까지 모든 문자열
readPassword() -> char[]
: 입력 문자열을 ******
로 처리
경과시간
long before = System.currentTimeMillis();
long after = System.currentTimeMillis();
long seconds = (after - before)/1000;