|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.lang.System
public final class System
System
클래스에는 유용한 클래스 필드 및 메소드가 있습니다. 인스턴스화할 수 없습니다.
System
클래스에 의해 얻을 수 있는 기능에는, 표준 입력, 표준 출력, 및 에러 출력 스트림, 외부적으로 정의된 프로퍼티 및 환경 변수에의 액세스, 파일 및 라이브러리의 로딩 방법, 배열의 일부를 재빠르게 카피하는 유틸리티 메소드가 있습니다.
필드의 개요 | |
---|---|
static PrintStream |
err
「표준」에러 출력 스트림입니다. |
static InputStream |
in
「표준」입력 스트림입니다. |
static PrintStream |
out
「표준」출력 스트림입니다. |
메소드의 개요 | |
---|---|
static void |
arraycopy (Object src,
int srcPos,
Object dest,
int destPos,
int length)
지정 위치에서 개시하는 지정 소스 배열로부터, 전송처 배열의 지정 위치에 배열을 카피합니다. |
static String |
clearProperty (String key)
지정된 키에 의해 나타난 시스템 프로퍼티을 삭제합니다. |
static Console |
console ()
현재의 Java 가상 머신에 관련한 일의 Console 객체가 있는 경우에, 그것을 돌려줍니다. |
static long |
currentTimeMillis ()
밀리 세컨드로 나타내지는 현재의 시간을 돌려줍니다. |
static void |
exit (int status)
현재 실행하고 있는 Java 가상 머신을 종료합니다. |
static void |
gc ()
가비지 컬렉터를 실행합니다. |
static Map <String ,String > |
getenv ()
현재의 시스템 환경의 변경할 수 없는 캐릭터 라인 맵의 뷰를 돌려줍니다. |
static String |
getenv (String name)
지정된 환경 변수의 값을 가져옵니다. |
static Properties |
getProperties ()
현재의 시스템 프로퍼티을 결정합니다. |
static String |
getProperty (String key)
지정된 키에 의해 나타나는 시스템 프로퍼티을 가져옵니다. |
static String |
getProperty (String key,
String def)
지정된 키에 의해 나타나는 시스템 프로퍼티을 가져옵니다. |
static SecurityManager |
getSecurityManager ()
system security 인터페이스를 가져옵니다. |
static int |
identityHashCode (Object x)
지정된 객체의 클래스가 hashCode()를 오버라이드(override) 하고 있을지 어떨지에 관계없이, 디폴트의 hashCode() 메소드에 의해 반환되는 것과 같은, 지정된 객체의 해시 코드를 돌려줍니다. |
static Channel |
inheritedChannel ()
Java 가상 머신을 작성한 엔티티로부터 상속된 채널을 돌려줍니다. |
static void |
load (String filename)
지정된 파일명을 가지는 코드 파일을, 다이나믹 라이브러리로서 로컬 파일 시스템으로부터 로드합니다. |
static void |
loadLibrary (String libname)
인수 libname 에 의해 지정되는 시스템 라이브러리를 로드합니다. |
static String |
mapLibraryName (String libname)
라이브러리명을, 네이티브 라이브러리를 나타내는 플랫폼 의존의 캐릭터 라인에 매핑 합니다. |
static long |
nanoTime ()
이용 가능해도 와도 정확한 시스템 타이머-의 현재의 값을 나노초단위로 돌려줍니다. |
static void |
runFinalization ()
finalize를 보류하고 있는 객체의 finalize메소드를 실행합니다. |
static void |
runFinalizersOnExit (boolean value)
추천 되고 있지 않습니다. 이 메소드는 본질적으로 안전하지는 않습니다. 파이나라이자가 라이브 객체에 대해서 불려 가는 결과가 될 가능성이 있어, 그 때 다른 thread가 그러한 객체를 병행해 조작하고 있으면(자), 동작이 이상하게 되는지, 데드락이 발생합니다. |
static void |
setErr (PrintStream err)
「표준」에러 출력 스트림을 할당다시 합니다. |
static void |
setIn (InputStream in)
「표준」입력 스트림을 할당다시 합니다. |
static void |
setOut (PrintStream out)
「표준」출력 스트림을 할당다시 합니다. |
static void |
setProperties (Properties props)
시스템 프로퍼티을 인수 Properties 로 설정합니다. |
static String |
setProperty (String key,
String value)
지정된 키에 의해 나타나는 시스템 프로퍼티을 설정합니다. |
static void |
setSecurityManager (SecurityManager s)
system security를 설정합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
public static final InputStream in
public static final PrintStream out
단순한 스탠드얼론의 Java 어플리케이션에 대해, 출력 데이터의 행을 기입하는 일반적인 방법은 이하대로입니다.
System.out.println(data)
PrintStream
클래스의 println
메소드를 참조해 주세요.
PrintStream.println()
,
PrintStream.println(boolean)
,
PrintStream.println(char)
,
PrintStream.println(char[])
,
PrintStream.println(double)
,
PrintStream.println(float)
,
PrintStream.println(int)
,
PrintStream.println(long)
,
PrintStream.println(java.lang.Object)
,
PrintStream.println(java.lang.String)
public static final PrintStream err
일반적으로, 이 스트림은 디스플레이 출력, 또는 호스트 환경이나 사용자에 의해 지정되는 출력처의 출력과 일치합니다. 주된 출력 스트림인 변수 out
치가, 일반적으로 계속적으로는 감시되어 있지 않은 파일 또는 그 외의 전송 먼저 리다이렉트(redirect) 하고 있는 경우에서도, 사용자에게 주의를 유발 (prompt)하기 위한 에러 메세지 또는 그 외의 정보를 표시하기 위해서, 통례 이 출력 스트림이 사용됩니다. 「표준」입력 스트림을 할당다시 합니다.
메소드의 상세 |
---|
public static void setIn(InputStream in)
시큐리티 매니저가 존재하는 경우는, 표준 입력 스트림을 할당다시 해도 좋은지 어떤지를 확인하기 위해서,RuntimePermission("setIO")
액세스권을 사용해 checkPermission
메소드가 불려 갑니다.
in
- 새로운 표준 입력 스트림
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPermission
메소드가 표준 입력 스트림의 재할인 맞히고를 허가하지 않는 경우SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public static void setOut(PrintStream out)
시큐리티 매니저가 존재하는 경우는, 표준 출력 스트림을 할당다시 해도 좋은지 어떤지를 확인하기 위해서,RuntimePermission("setIO")
액세스권을 사용해 checkPermission
메소드가 불려 갑니다.
out
- 새로운 표준 출력 스트림
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPermission
메소드가 표준 출력 스트림의 재할인 맞히고를 허가하지 않는 경우SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public static void setErr(PrintStream err)
시큐리티 매니저가 존재하는 경우는, 표준 에러 출력 스트림을 할당다시 해도 좋은지 어떤지를 확인하기 위해서,RuntimePermission("setIO")
액세스권을 사용해 checkPermission
메소드가 불려 갑니다.
err
- 새로운 표준 에러 출력 스트림
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPermission
메소드가 표준 에러 출력 스트림의 재할인 맞히고를 허가하지 않는 경우SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public static Console console()
Console
객체가 있는 경우에, 그것을 돌려줍니다.
public static Channel inheritedChannel() throws IOException
이 메소드는, 시스템 전체의 디폴트 SelectorProvider
객체의 inheritedChannel
메소드를 호출하는 것에 의해 취득한 채널을 돌려줍니다.
이 메소드는,inheritedChannel
로 정의되고 있는 네트워크 지향의 채널에 가세해, 장래 다른 종류의 채널을 돌려줄 가능성이 있습니다.
IOException
- 입출력 에러가 발생했을 경우
SecurityException
- 시큐리티 매니저가 인스톨 되고 있어, 채널에의 액세스가 허가되어 있지 않은 경우public static void setSecurityManager(SecurityManager s)
시큐리티 매니저가 벌써 인스톨 되고 있는 경우, 이 메소드는, 최초로 RuntimePermission("setSecurityManager")
액세스권을 사용해 시큐리티 매니저의 checkPermission
메소드를 호출하는 것으로, 기존의 시큐리티 매니저를 치환해도 괜찮은지 어떤지를 확인합니다. 그 결과,SecurityException
가 throw 되는 일이 있습니다.
그렇지 않은 경우는, 인수를 현재의 시큐리티 매니저로 설정합니다. 인수가 null
이며, 시큐리티 매니저가 설정되어 있지 않은 경우, 메소드는 아무것도 실시하지 않고 복귀합니다.
s
- 시큐리티 매니저
SecurityException
- 시큐리티 매니저가 벌써 설정되어 있어 시큐리티 매니저의 checkPermission
메소드가 시큐리티 매니저의 치환을 허가하지 않는 경우getSecurityManager()
,
SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public static SecurityManager getSecurityManager()
null
setSecurityManager(java.lang.SecurityManager)
public static long currentTimeMillis()
「컴퓨터 시간」이라고 협정 세계시 (UTC)와의 사이에 발생하는 미묘한 상위에 대해서는,Date
클래스의 설명을 참조해 주세요.
Date
public static long nanoTime()
이 메소드는, 경과시간을 측정하기 위해(때문에)인 만큼 사용할 수 있습니다. 시스템외의 개념이나 벽시계의 시각에 관련하고 있습니다. 반환되는 값은, 고정된 임의의 시간부터의 경과시간 (나노초)입니다. 장래적으로, 값이 부의 수가 될 가능성이 있습니다. 이 메소드는, 나노초단위의 정밀도를 제공합니다만, 반드시 나노초의 정확도가 아닙니다. 값의 변경 빈도는 보증되지 않습니다. 약 292 년 (263 나노초 )을 넘는 연속한 호출의 차이에서는, 수치의 오버플로우에 의해 경과시간이 올바르게 계산되지 않습니다.
예를 들어, 일부의 코드로 실행에 걸리는 시간을 측정하려면 , 다음과 같이 됩니다.
long startTime = System.nanoTime(); // ... the code being measured ... long estimatedTime = System.nanoTime() - startTime;
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src
에 의해 참조되는 소스 배열로부터 dest
에 의해 참조되는 전송처 배열에 카피합니다. 카피되는 요소의 수는, 인수 length
와 일치합니다. 소스 배열의 srcPos
로부터 srcPos+length-1
까지의 위치에 있는 요소를, 전송처의 배열의 destPos
로부터 destPos+length-1
까지의 위치에 각각 카피합니다.
인수 src
및 dest
가 같은 배열 객체인 경우, 우선 srcPos
로부터 srcPos+length-1
까지의 위치에 있는 요소를 일시 배열 length
의 요소에 카피해, 다음에 일시 배열의 내용을 전송처 배열의 destPos
로부터 destPos+length-1
에 카피합니다.
dest
가 null
의 경우는,NullPointerException
가 throw 됩니다.
src
가 null
의 경우는,NullPointerException
가 throw 되어 전송처 배열은 변경되지 않습니다.
이하의 어떤 것인가의 경우는,ArrayStoreException
를 throw 해, 전송처를 수정하지 않습니다.
src
가, 배열이 아닌 객체이다
dest
가, 배열이 아닌 객체이다
src
및 인수 dest
가, 요소의 종류가 다른 원시형의 배열이다
src
가 프리미티브(primitive)인 요소형을 가지는 배열이며, 인수 dest
가 참조 요소형을 가지는 배열이다
src
가 참조 요소형을 가지는 배열이며, 인수 dest
가 프리미티브(primitive)인 요소형을 가지는 배열이다
그렇지 않은 경우, 이하의 어떤 것인가가 true 이면 IndexOutOfBoundsException
를 throw 해, 전송처를 수정하지 않습니다.
srcPos
가 0 보다 작은 값이다
destPos
가 0 보다 작은 값이다
length
가 0 보다 작은 값이다
srcPos+length
가 소스 배열의 길이 src.length
보다 크다
destPos+length
가 전송처 배열의 길이 dest.length
보다 크다
그렇지 않은 경우,srcPos
로부터 srcPos+length-1
까지의 위치에 있는 소스 배열의 실제의 요소가, 대입 변환에 의해 전송처 배열의 요소형으로 변환할 수 없을 때는,ArrayStoreException
를 throw 합니다. 이 경우,k 를 길이보다 작고, 부의 수가 아닌 최소 정수형으로 해,src[srcPos+
k]
를 전송처 배열의 요소형으로 변환할 수 없게 합니다. 예외를 throw 하는 경우,srcPos
로부터 srcPos+
k-1
에 위치하는 소스 배열의 요소는 벌써 destPos
로부터 destPos+
k-1
에 위치하는 전송처 배열에 카피되고 있습니다. 또, 전송처 배열의 그 외의 위치는 수정되고 있지 않습니다. 전술의 제약을 위해, 상기의 기술은 실제로는 양쪽 모두의 배열이 참조형의 요소형을 가지는 상황으로만 유효합니다.
src
- 전송원배열srcPos
- 소스 배열의 개시 위치dest
- 전송처 배열destPos
- 전송처 데이터내의 개시 위치length
- 카피되는 배열 요소의 수
IndexOutOfBoundsException
- 카피에 의해 배열의 경계를 넘은 데이터의 액세스가 생겼을 경우
ArrayStoreException
- 형의 불일치에 의해, 배열 src
의 요소가 배열 dest
에 보존할 수 없었던 경우
NullPointerException
- src
또는 dest
가 null
의 경우public static int identityHashCode(Object x)
x
- 해시 코드가 계산되는 객체
public static Properties getProperties()
우선, 시큐리티 매니저가 존재하는 경우는, 인수없이 checkPropertiesAccess
메소드를 호출합니다. 이것은 시큐리티 예외가 되는 경우가 있습니다.
getProperty(String)
메소드에 의해 사용되는 시스템 프로퍼티의 현재세트가,Properties
객체로서 돌려주어집니다. 시스템 프로퍼티의 현재세트가 없는 경우, 시스템 프로퍼티세트를 우선 작성하고 나서 초기화합니다. 이 시스템 프로퍼티세트에는, 항상 다음의 키의 값이 포함됩니다.
키 | 대응하는 값의 설명 |
---|---|
java.version |
Java Runtime Environment 의 버젼 |
java.vendor |
Java Runtime Environment 의 벤더 | java.vendor.url |
Java 벤더의 URL |
java.home |
Java 의 인스톨처 디렉토리 |
java.vm.specification.version |
Java 가상 머신의 스펙 버젼 |
java.vm.specification.vendor |
Java 가상 머신의 스펙 벤더 |
java.vm.specification.name |
Java 가상 머신의 스펙명 |
java.vm.version |
Java 가상 머신의 구현 버젼 |
java.vm.vendor |
Java 가상 머신의 구현 벤더 |
java.vm.name |
Java 가상 머신의 구현명 |
java.specification.version |
Java Runtime Environment 의 스펙 버젼 |
java.specification.vendor |
Java Runtime Environment 의 스펙의 벤더 |
java.specification.name |
Java Runtime Environment 의 스펙명 |
java.class.version |
Java 클래스의 형식의 버젼 번호 |
java.class.path |
Java 클래스 패스 |
java.library.path |
라이브러리의 로드시에 검색하는 패스의 리스트 |
java.io.tmpdir |
디폴트 임시 파일의 패스 |
java.compiler |
사용하는 JIT 컴파일러의 이름 |
java.ext.dirs |
확장 디렉토리의 패스 |
os.name |
operating system명 |
os.arch |
operating system의 아키텍쳐(architecture) |
os.version |
operating system의 버젼 |
file.separator |
파일 단락 문자 (UNIX 에서는 "/") |
path.separator |
패스 단락 문자 (UNIX 에서는 ":") |
line.separator |
행 단락 문자 (UNIX 에서는 "\n") |
user.name |
사용자의 어카운트명 |
user.home |
사용자의 홈 디렉토리 |
user.dir |
사용자의 현재의 작업 디렉토리 |
시스템 프로퍼티치내의 복수의 패스는, 플랫폼 고유의 패스 단락 문자로 단락지어집니다.
시큐리티 매니저는,getProperties
오퍼레이션을 허가하지 않는 경우에서도,getProperty(String)
오퍼레이션을 허가하는 경우가 있습니다.
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPropertiesAccess
메소드가 시스템 프로퍼티에의 액세스를 허가하지 않는 경우setProperties(java.util.Properties)
,
SecurityException
,
SecurityManager.checkPropertiesAccess()
,
Properties
public static void setProperties(Properties props)
Properties
로 설정합니다.
우선, 시큐리티 매니저가 존재하는 경우는, 인수없이 checkPropertiesAccess
메소드를 호출합니다. 이것은 시큐리티 예외가 되는 경우가 있습니다.
인수는, 메소드 getProperty(String)
에 의해, 사용하는 시스템 프로퍼티의 현재세트가 됩니다. 인수가 null
의 경우, 시스템 프로퍼티의 현재세트는 그대로입니다.
props
- 새로운 시스템 프로퍼티
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPropertiesAccess
메소드가 시스템 프로퍼티에의 액세스를 허가하지 않는 경우getProperties()
,
Properties
,
SecurityException
,
SecurityManager.checkPropertiesAccess()
public static String getProperty(String key)
시큐리티 매니저가 존재하는 경우는, 키를 인수로서 건네주어 checkPropertyAccess
메소드를 호출합니다. 그 결과, SecurityException 가 발생하는 일이 있습니다.
시스템 프로퍼티의 현재세트가 없는 경우, 시스템 프로퍼티세트를 우선 작성해,getProperties
메소드와 같은 방법으로 초기화합니다.
key
- 시스템 프로퍼티의 이름
null
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPropertiesAccess
메소드가, 지정된 시스템 프로퍼티에의 액세스를 허가하지 않는 경우
NullPointerException
- key
가 null
의 경우
IllegalArgumentException
- key
가 빈 상태(empty)의 경우setProperty(java.lang.String, java.lang.String)
,
SecurityException
,
SecurityManager.checkPropertyAccess(java.lang.String)
,
getProperties()
public static String getProperty(String key, String def)
시큐리티 매니저가 존재하는 경우는,key
를 인수로서 건네주어 checkPropertyAccess
메소드를 호출합니다.
시스템 프로퍼티의 현재세트가 없는 경우, 시스템 프로퍼티세트를 우선 작성해,getProperties
메소드와 같은 방법으로 초기화합니다.
key
- 시스템 프로퍼티의 이름def
- 디폴트 값
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPropertiesAccess
메소드가, 지정된 시스템 프로퍼티에의 액세스를 허가하지 않는 경우
NullPointerException
- key
가 null
의 경우
IllegalArgumentException
- key
가 빈 상태(empty)의 경우setProperty(java.lang.String, java.lang.String)
,
SecurityManager.checkPropertyAccess(java.lang.String)
,
getProperties()
public static String setProperty(String key, String value)
시큐리티 매니저가 존재하는 경우는,PropertyPermission(key, "write")
액세스권을 사용해 SecurityManager.checkPermission
메소드가 불려 갑니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다. 예외가 throw 되지 않았던 경우는, 지정된 프로퍼티이 지정된 값으로 설정됩니다.
key
- 시스템 프로퍼티의 이름value
- 시스템 프로퍼티의 값
null
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPermission
메소드가, 지정된 프로퍼티의 설정을 허가하지 않는 경우
NullPointerException
- key
또는 value
가 null
의 경우
IllegalArgumentException
- key
가 빈 상태(empty)의 경우getProperty(java.lang.String)
,
getProperty(java.lang.String)
,
getProperty(java.lang.String, java.lang.String)
,
PropertyPermission
,
SecurityManager.checkPermission(java.security.Permission)
public static String clearProperty(String key)
시큐리티 매니저가 존재하는 경우는,PropertyPermission(key, "write")
액세스권을 사용해 SecurityManager.checkPermission
메소드가 불려 갑니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다. 예외가 throw 되지 않았던 경우는, 지정된 프로퍼티은 삭제됩니다.
key
- 삭제되는 시스템 프로퍼티의 이름
null
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPropertiesAccess
메소드가, 지정된 시스템 프로퍼티에의 액세스를 허가하지 않는 경우
NullPointerException
- key
가 null
의 경우
IllegalArgumentException
- key
가 빈 상태(empty)의 경우getProperty(java.lang.String)
,
setProperty(java.lang.String, java.lang.String)
,
Properties
,
SecurityException
,
SecurityManager.checkPropertiesAccess()
public static String getenv(String name)
시큐리티 매니저가 존재하는 경우는,
액세스권을 사용해 RuntimePermission
("getenv. "+name)checkPermission
메소드가 불려 갑니다. 이 결과,SecurityException
가 throw 되는 일이 있습니다. 예외가 throw 되지 않는 경우, 변수 name
의 값이 돌려주어집니다.
「시스템 프로퍼티」과「환경 변수」 는, 이름과 값과의 사이에 개념적으로 맵 되고 있습니다. 양쪽 모두의 메카니즘을 사용해, 사용자 정의 정보를 Java 프로세스에 건네줄 수가 있습니다. 환경 변수는, 보다 글로벌인 효과를 미칩니다. 이것은, 프로세스에 의해 정의된 모든 자손에게 있어 환경 변수가 직접적인 Java 서브 프로세스 일 뿐만 아니라, 가시이기 때문입니다. 이것들은, 다른 operating system상에서 미묘하게 다른 시멘틱스 (대문자와 소문자를 구별하지 않는 등)를 가질 수가 있습니다. 이러한 이유로부터, 환경 변수는 의도하지 않는 부작용을 가질 가능성이 높아집니다. 가능한 경우는, 시스템 프로퍼티을 사용하는 것이 가장 적절합니다. 환경 변수는, 글로벌인 효과가 필요한 때나, 외부 시스템 인터페이스가 환경 변수 (PATH
등)를 필요로 할 때 사용할 필요가 있습니다.
UNIX 시스템에서는,name
의 알파벳의 대문자와 소문자는 구별됩니다만, Microsoft Windows 시스템에서는 일반적으로 구별되지 않습니다. 예를 들어,System.getenv("FOO"). equals(System.getenv("foo"))
라고 하는 표현은 Microsoft Windows 에서는 true 입니다.
name
- 환경 변수의 이름
null
NullPointerException
- name
가 null
의 경우
SecurityException
- 시큐리티 매니저가 존재해,checkPermission
메소드가 환경 변수 name
에의 액세스를 허가하지 않을 때getenv()
,
ProcessBuilder.environment()
public static Map <String ,String > getenv()
시스템이 환경 변수를 지원하고 있지 않는 경우는, 빈 상태(empty)의 맵이 돌려주어집니다.
반환된 맵은, null 의 키나 값을 포함하지 않습니다. null 의 키나 값이 있을지 어떨지 쿼리를 실행하면(자),NullPointerException
가 throw 됩니다. String
형이 아닌 키나 값이 있을지 어떨지 쿼리를 실행하면(자),ClassCastException
가 throw 됩니다.
반환된 맵과 그 코레크션뷰는,Object.equals(java.lang.Object)
메소드와 Object.hashCode()
메소드의 범용 규약에 따르지 않을 가능성이 있습니다.
반환된 맵은, 일반적으로 모든 플랫폼에서 대문자와 소문자를 구별합니다.
시큐리티 매니저가 존재하는 경우는,
액세스권을 사용해 RuntimePermission
("getenv. *")checkPermission
메소드가 불려 갑니다. 이 결과,SecurityException
가 throw 되는 일이 있습니다.
Java 서브 프로세스에 정보를 건네주는 경우, 일반적으로 환경 변수보다시스템 프로퍼티이 추천 됩니다.
SecurityException
- 시큐리티 매니저가 존재해,checkPermission
메소드가 프로세스 환경에의 액세스를 허가하지 않을 때getenv(String)
,
ProcessBuilder.environment()
public static void exit(int status)
이 메소드는 Runtime
클래스의 exit
메소드를 호출합니다. 이 메소드는, 정상적으로 복귀할 것은 없습니다.
System.exit(n)
의 호출의 동작은, 실제로는 다음의 호출과 같습니다.
Runtime.getRuntime(). exit(n)
status
- 종료의 상태
SecurityException
- 시큐리티 매니저가 존재해, 그 checkExit
메소드가, 지정된 상태에서의 종료를 허가하지 않는 경우Runtime.exit(int)
public static void gc()
gc
메소드의 호출은, 현재 점유 하고 있는 메모리를 재차 신속히 이용하기 위해서, Java 가상 머신이 사용하지 않는 객체의 리사이클을 실행하는 것을 의미합니다. 메소드의 호출로부터 제어가 돌아오는 것은, Java 가상 머신이, 파기된 객체가 점유 하고 있던 스페이스를 최대한까지 회복 끝마쳤을 때입니다.
System.gc()
의 호출의 동작은, 실제로는 다음의 호출과 같습니다.
Runtime.getRuntime(). gc()
Runtime.gc()
public static void runFinalization()
이 메소드를 호출하면(자), Java 가상 머신이, 파기되고 있는 것을 알 수 있고 있어 finalize
메소드가 실행되어 있지 않은 객체에 대해서 finalize
메소드의 실행이 시행됩니다. 메소드의 호출로부터 제어가 돌아오는 것은, Java 가상 머신이, 모든 미처리의 finalize를 최대한까지 완료 끝마쳤을 때입니다.
System.runFinalization()
의 호출의 동작은, 실제로는 다음의 호출과 같습니다.
Runtime.getRuntime(). runFinalization()
Runtime.runFinalization()
@Deprecated public static void runFinalizersOnExit(boolean value)
시큐리티 매니저가 존재하는 경우는, 확실히 종료가 허가되도록(듯이), 최초로 인수를 0 으로서 checkExit
메소드가 불려 갑니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
value
- finalize를 유효하게 할까 무효로 하는지를 나타낸다
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkExit
메소드가 종료를 허가하지 않는 경우Runtime.exit(int)
,
Runtime.gc()
,
SecurityManager.checkExit(int)
public static void load(String filename)
System.load(name)
의 호출의 동작은, 실제로는 다음의 호출과 같습니다.
Runtime.getRuntime(). load(name)
filename
- 로드하는 파일
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkLink
메소드가, 지정된 다이나믹 라이브러리의 로드를 허가하지 않는 경우
UnsatisfiedLinkError
- 파일이 존재하지 않는 경우
NullPointerException
- filename
가 null
의 경우Runtime.load(java.lang.String)
,
SecurityManager.checkLink(java.lang.String)
public static void loadLibrary(String libname)
libname
에 의해 지정되는 시스템 라이브러리를 로드합니다. 라이브러리명이 실제의 시스템 라이브러리에 매핑 되는 방법은, 시스템에 따라서 다릅니다.
System.loadLibrary(name)
의 호출의 동작은, 실제로는 다음의 호출과 같습니다.
Runtime.getRuntime(). loadLibrary(name)
libname
- 라이브러리의 이름
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkLink
메소드가, 지정된 다이나믹 라이브러리의 로드를 허가하지 않는 경우
UnsatisfiedLinkError
- 라이브러리가 존재하지 않는 경우
NullPointerException
- libname
가 null
의 경우Runtime.loadLibrary(java.lang.String)
,
SecurityManager.checkLink(java.lang.String)
public static String mapLibraryName(String libname)
libname
- 라이브러리의 이름
NullPointerException
- libname
가 null
의 경우loadLibrary(java.lang.String)
,
ClassLoader.findLibrary(java.lang.String)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.