|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.lang.Runtime
public class Runtime
Java 어플리케이션은 모두,Runtime
클래스의 단일의 인스턴스를 가집니다. 이 클래스는, 어플리케이션과 어플리케이션 실행 환경과의 인터페이스가 됩니다. 현재의 실행시 객체는,getRuntime
메소드에 의해 취득할 수 있습니다.
어플리케이션은, 이 클래스의 인스턴스를 독자적으로 생성할 수 없습니다.
getRuntime()
메소드의 개요 | |
---|---|
void |
addShutdownHook (Thread hook)
새로운 가상 머신의 종료 훅을 등록합니다. |
int |
availableProcessors ()
Java 가상 머신을 사용할 수 있는 프로세서의 수를 돌려줍니다. |
Process |
exec (String command)
지정된 캐릭터 라인 커멘드를, 독립한 프로세스로 실행합니다. |
Process |
exec (String [] cmdarray)
지정된 커멘드와 인수를, 독립한 프로세스로 실행합니다. |
Process |
exec (String [] cmdarray,
String [] envp)
지정된 커멘드와 인수를, 지정된 환경을 가지는 독립한 프로세스로 실행합니다. |
Process |
exec (String [] cmdarray,
String [] envp,
File dir)
지정된 커멘드와 인수를, 지정된 환경과 작업 디렉토리를 가지는 독립한 프로세스로 실행합니다. |
Process |
exec (String command,
String [] envp)
지정된 캐릭터 라인 커멘드를, 지정된 환경을 가지는 독립한 프로세스로 실행합니다. |
Process |
exec (String command,
String [] envp,
File dir)
지정된 캐릭터 라인 커멘드를, 지정된 환경과 작업 디렉토리를 가지는 독립한 프로세스로 실행합니다. |
void |
exit (int status)
현재 실행하고 있는 Java 가상 머신을, 종료 순서를 개시해 종료합니다. |
long |
freeMemory ()
Java 가상 머신내의 빈메모리의 양을 돌려줍니다. |
void |
gc ()
가비지 컬렉터를 실행합니다. |
InputStream |
getLocalizedInputStream (InputStream in)
추천 되고 있지 않습니다. JDK 1. 1 에서는, 로컬인 인코딩의 바이트 스트림을 Unicode 의 문자 스트림로 변환하려면 , InputStreamReader 클래스와 BufferedReader 클래스를 사용하는 (분)편이 적절합니다. |
OutputStream |
getLocalizedOutputStream (OutputStream out)
추천 되고 있지 않습니다. JDK 1. 1 에서는, Unicode 의 문자 스트림을 로컬인 인코딩의 바이트 스트림로 변환하려면 , OutputStreamWriter 클래스,BufferedWriter 클래스, 및 PrintWriter 클래스를 사용하는 (분)편이 적절합니다. |
static Runtime |
getRuntime ()
현재의 Java 어플리케이션에 관련한 Runtime 객체를 돌려줍니다. |
void |
halt (int status)
현재 실행중의 Java 가상 머신을 강제 종료합니다. |
void |
load (String filename)
지정된 파일명을 다이나믹 라이브러리로서 로드합니다. |
void |
loadLibrary (String libname)
지정된 라이브러리명을 가지는 다이나믹 라이브러리를 로드합니다. |
long |
maxMemory ()
Java 가상 머신이 사용을 시도하는 최대 메모리 용량을 돌려줍니다. |
boolean |
removeShutdownHook (Thread hook)
벌써 등록한 가상 머신의 종료 훅을 등록 해제합니다. |
void |
runFinalization ()
finalize를 보류하고 있는 객체의 finalize메소드를 실행합니다. |
static void |
runFinalizersOnExit (boolean value)
추천 되고 있지 않습니다. 이 메소드는 본질적으로 안전하지는 않습니다. 파이나라이자가 라이브 객체에 대해서 불려 가는 결과가 될 가능성이 있어, 그 때 다른 thread가 그러한 객체를 병행해 조작하고 있으면(자), 동작이 이상하게 되는지, 데드락이 발생합니다. |
long |
totalMemory ()
Java 가상 머신의 메모리의 총용량을 돌려줍니다. |
void |
traceInstructions (boolean on)
명령의 트레이스를 유효 또는 무효로 합니다. |
void |
traceMethodCalls (boolean on)
메소드 호출의 트레이스를 유효 또는 무효로 합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
메소드의 상세 |
---|
public static Runtime getRuntime()
Runtime
클래스의 메소드의 대부분은 인스턴스 메소드이며, 현재의 런타임 객체에 대응해 불려 가지 않으면 안됩니다.
Runtime
객체public void exit(int status)
가상 머신의 종료 순서는 2 개의 단계로 구성됩니다. 제 1 단계에서는, 모든 등록을 마친종료 훅
은 (있는 경우), 특히 지정하고 있지 않는 순서로 기동해, 종료할 때까지 병행해 실행할 수가 있습니다. 제 2 단계에서는,종료시의 finalize
가 유효하게 되어 있는 경우에, 불려 가지 않은 모든 파이나라이자가 실행됩니다. 이것이 종료하면(자) 가상 머신은정지
합니다.
가상 머신이 종료 순서를 개시한 뒤에 이 메소드가 불려 가면(자), 종료 훅이 이 메소드를 실행하고 있는 경우는 무기한으로 블록 됩니다. 종료 훅이 벌써 실행되어 있어 종료시의 finalize가 유효하게 되어 있을 때는, 상태가 제로 이외의 경우는 가상 머신을 지정한 상태 코드로 정지해, 그렇지 않은 경우는 무기한으로 블록 합니다. 이 메소드를 호출하려면 ,
System.exit
메소드가 일반적이고 편리합니다.
status
- 종료 상태. 통례, 제로 이외의 상태 코드는 이상종료(ABEND)를 나타낸다
SecurityException
- 시큐리티 매니저가 존재할 경우에, 시큐리티 매니저의 checkExit
메소드가 지정된 상태에서의 종료를 허가하지 않는 경우SecurityException
,
SecurityManager.checkExit(int)
,
addShutdownHook(java.lang.Thread)
,
removeShutdownHook(java.lang.Thread)
,
runFinalizersOnExit(boolean)
,
halt(int)
public void addShutdownHook(Thread hook)
2 종류의 이벤트에 응답해 Java 가상 머신을 종료 합니다.
exit
(System.exit
와 동등) 메소드가 불려 가면(자), 프로그램은 정상적으로 종료 (exit)한다
「종료 훅」은 초기화된 것만으로 기동하고 있지 않는 thread입니다. 가상 머신이 종료 순서를 개시하면(자), 모든 등록이 끝난 종료 훅을, 지정되어 있지 않은 순서로 기동해 병행해 실행합니다. 훅이 모두 종료하면(자), 종료시의 finalize가 유효한 경우는 모든 불려 가지 않은 파이나라이자를 실행합니다. 마지막으로, 가상 머신은 정지합니다. exit
를 호출해 종료이 개시되었을 경우는, demon가 아닌 thread와 같이, demon thread는 종료 순서의 사이, 실행을 계속합니다.
일단 종료 순서가 기동하면(자), 강제적으로 가상 머신을 정지시키는 halt
메소드를 호출했을 경우만 중지할 수 있습니다.
일단 종료 순서를 기동하면(자), 새로운 종료 훅을 등록하거나 이전에 등록한 훅의 등록을 해제하거나 할 수 없습니다. 이러한 오퍼레이션의 어떤 것인지를 실행하려고 하면(자),IllegalStateException
가 throw 됩니다.
종료 훅은 가상 머신의 라이프 사이클의 미묘한 시기에 기동하기 위해(때문에), 코딩 하는 경우는 조심할 필요가 있습니다. 특히, thread 세이프에 기입할 필요가 있어, 할 수 있는 한 데드락을 피할 필요가 있습니다. 종료 훅을 등록한 서비스를 그대로 받아들이지 않고, 종료이 진행중에 등록할 필요가 있습니다. AWT 이벤트발송쓰레드 등, thread 베이스의 그 외의 서비스를 사용하려고 하면(자), 데드락이 발생하는 일이 있습니다.
종료 훅은 신속히 종료할 필요도 있습니다. 프로그램이 exit
를 호출하면(자), 가상 머신은 즉시 종료 해 종료하는 것이라고 보여집니다. 가상 머신이 사용자 로그 오프 또는 시스템 종료으로 종료하면(자), 기본이 되는 operating system는 종료 또는 종료할 때까지의 일정시간을 줍니다. 따라서, 종료 훅중에 사용자와의 대화 처리를 하거나 장시간의 계산을 하는 것은 추천할 수 없습니다.
캐치되어 있지 않은 예외는 다른 thread와 같게, thread ThreadGroup
객체의 uncaughtException
메소드를 호출해 종료 훅으로 처리됩니다. 이 메소드의 디폴트 구현은 System.err
에의 예외 스택 트레이스를 출력해 thread를 정지합니다. 가상 머신의 종료 또는 정지는 하지 않습니다.
보기 드문 케이스로서 가상 머신이 「이상종료(ABEND)」하는 일이 있습니다. 즉, 종료이 정상적으로 행해지지 않고 실행이 중지되는 경우입니다. 이것은 가상 머신이 외부에서 정지되었을 경우에 일어납니다. 예를 들어, Unix 의 경우의 SIGKILL 시그널 또는, Microsoft Windows 의 경우의 TerminateProcess 의 호출이 그 예입니다. 가상 머신은, 예를 들어, 내부 데이터 구조의 파괴, 존재하지 않는 메모리에의 액세스등과 같이 네이티브 메소드가 실패했을 경우에도 이상종료(ABEND) 합니다. 가상 머신이 이상종료(ABEND) 하면(자) 종료 훅의 실행은 보증할 수 없습니다.
hook
- 초기화는 되었지만 기동하고 있지 않는 Thread
객체
IllegalArgumentException
- 지정한 훅이 이미 등록되어 있는 경우, 혹은 훅이 이미 실행중이든가 또는 실행이 완료했다고 판정되는 경우
IllegalStateException
- 가상 머신이 이미 종료 진행중인 경우
SecurityException
- 시큐리티 매니저가 존재해,RuntimePermission
("shutdownHooks") 를 거부했을 경우removeShutdownHook(java.lang.Thread)
,
halt(int)
,
exit(int)
public boolean removeShutdownHook(Thread hook)
hook
- 삭제하는 훅
IllegalStateException
- 가상 머신이 이미 종료 진행중인 경우
SecurityException
- 시큐리티 매니저가 존재해,RuntimePermission
("shutdownHooks") 를 거부했을 경우addShutdownHook(java.lang.Thread)
,
exit(int)
public void halt(int status)
이 메소드의 사용에는 세심의 주의가 필요합니다. exit
메소드와는 달라, 이 메소드에서는 종료 훅을 기동하지 못하고, 종료시의 finalize가 유효한 경우는 불려 가지 않은 파이나라이자를 실행하지 않습니다. 벌써 종료 순서가 개시되고 있는 경우는, 이 메소드는 실행중의 종료 훅 또는 파이나라이자를 대기하지 않고 종료합니다.
status
- 종료 상태. 통례, 제로 이외의 상태 코드는 이상종료(ABEND)를 나타낸다.
exit
(System.exit
와 동등) 메소드가 벌써 불려 가고 있는 경우는, 그 메소드에게 건네진 상태 코드를 오버라이드(override) 한다
SecurityException
- 시큐리티 매니저가 존재할 경우에, 시큐리티 매니저의 checkExit
메소드가 지정된 상태에서의 종료를 허가하지 않는 경우exit(int)
,
addShutdownHook(java.lang.Thread)
,
removeShutdownHook(java.lang.Thread)
@Deprecated public static void runFinalizersOnExit(boolean value)
시큐리티 매니저가 존재하는 경우는, 확실히 종료가 허가되도록(듯이), 최초로 인수를 0 으로서 checkExit
메소드가 불려 갑니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
value
- 종료시의 finalize를 유효하게 하는 경우는 true, 무효로 하는 경우는 false
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkExit
메소드가 종료를 허가하지 않는 경우exit(int)
,
gc()
,
SecurityManager.checkExit(int)
public Process exec(String command) throws IOException
이것은, 편리한 메소드입니다. 이 메소드를 exec(command) 의 형식에서 호출했을 경우,exec
(command, null, null) 의 호출과 같은 결과를 얻을 수 있습니다.
command
- 지정된 시스템 커멘드
Process
객체
SecurityException
- 시큐리티 매니저가 존재해,checkExec
메소드가 서브 프로세스의 작성을 허가하지 않는 경우
IOException
- 입출력 에러가 발생했을 경우
NullPointerException
- command
가 null
의 경우
IllegalArgumentException
- command
가 빈 상태(empty)의 경우exec(String[], String[], File)
,
ProcessBuilder
public Process exec(String command, String [] envp) throws IOException
이것은, 편리한 메소드입니다. 이 메소드를 exec(command, envp) 의 형식에서 호출했을 경우,exec
(command, envp, null) 의 호출과 같은 결과를 얻을 수 있습니다.
command
- 지정된 시스템 커멘드envp
- 캐릭터 라인의 배열. 배열의 각 요소는,name=value 라고 하는 형식에서 환경 변수 설정을 보관 유지한다. 또는, 서브 프로세스가 현재의 프로세스의 환경을 상속하는 경우는 null
Process
객체
SecurityException
- 시큐리티 매니저가 존재해,checkExec
메소드가 서브 프로세스의 작성을 허가하지 않는 경우
IOException
- 입출력 에러가 발생했을 경우
NullPointerException
- command
가 null
의 경우, 또는 envp
의 어떤 것인가의 요소가 null
의 경우
IllegalArgumentException
- command
가 빈 상태(empty)의 경우exec(String[], String[], File)
,
ProcessBuilder
public Process exec(String command, String [] envp, File dir) throws IOException
이것은, 편리한 메소드입니다. 이 메소드를 exec(command, envp, dir) 의 형식에서 호출했을 경우,exec
(cmdarray, envp, dir) 의 호출과 같은 결과를 얻을 수 있습니다. 여기서,cmdarray
는,command
에 있는 모든 토큰의 배열입니다.
보다 정확하게는,command
캐릭터 라인은 문자 카테고리가 더 이상 변경되는 일 없이,new
의 호출로 작성된 StringTokenizer
(command)StringTokenizer
를 사용해 토큰에 분할됩니다. 토크나이자로 생성된 토큰은, 같은 순서로 신규 캐릭터 라인 배열의 cmdarray
에 배치됩니다.
command
- 지정된 시스템 커멘드envp
- 캐릭터 라인의 배열. 배열의 각 요소는,name=value 라고 하는 형식에서 환경 변수 설정을 보관 유지한다. 또는, 서브 프로세스가 현재의 프로세스의 환경을 상속하는 경우는 nulldir
- 서브 프로세스가 현재의 프로세스의 작업 디렉토리를 상속하는 경우는, 서브 프로세스의 작업 디렉토리, 또는 null
Process
객체
SecurityException
- 시큐리티 매니저가 존재해,checkExec
메소드가 서브 프로세스의 작성을 허가하지 않는 경우
IOException
- 입출력 에러가 발생했을 경우
NullPointerException
- command
가 null
의 경우, 또는 envp
의 어떤 것인가의 요소가 null
의 경우
IllegalArgumentException
- command
가 빈 상태(empty)의 경우ProcessBuilder
public Process exec(String [] cmdarray) throws IOException
이것은, 편리한 메소드입니다. 이 메소드를 exec(cmdarray) 의 형식에서 호출했을 경우,exec
(cmdarray, null, null) 의 호출과 같은 결과를 얻을 수 있습니다.
cmdarray
- 실행하는 커멘드와 인수를 포함한 배열
Process
객체
SecurityException
- 시큐리티 매니저가 존재해,checkExec
메소드가 서브 프로세스의 작성을 허가하지 않는 경우
IOException
- 입출력 에러가 발생했을 경우
NullPointerException
- cmdarray
가 null
의 경우, 또는 cmdarray
의 어떤 것인가의 요소가 null
의 경우
IndexOutOfBoundsException
- cmdarray
가 길이가 0
의 빈 상태(empty)의 배열의 경우ProcessBuilder
public Process exec(String [] cmdarray, String [] envp) throws IOException
이것은, 편리한 메소드입니다. 이 메소드를 exec(cmdarray, envp) 의 형식에서 호출했을 경우,exec
(cmdarray, envp, null) 의 호출과 같은 결과를 얻을 수 있습니다.
cmdarray
- 실행하는 커멘드와 인수를 포함한 배열envp
- 캐릭터 라인의 배열. 배열의 각 요소는,name=value 라고 하는 형식에서 환경 변수 설정을 보관 유지한다. 또는, 서브 프로세스가 현재의 프로세스의 환경을 상속하는 경우는 null
Process
객체
SecurityException
- 시큐리티 매니저가 존재해,checkExec
메소드가 서브 프로세스의 작성을 허가하지 않는 경우
IOException
- 입출력 에러가 발생했을 경우
NullPointerException
- cmdarray
가 null
의 경우, 또는 cmdarray
의 요소의 어떤 것인가가 null
의 경우, 혹은 envp
의 요소의 어떤 것인가가 null
의 경우
IndexOutOfBoundsException
- cmdarray
가 길이가 0
의 빈 상태(empty)의 배열의 경우ProcessBuilder
public Process exec(String [] cmdarray, String [] envp, File dir) throws IOException
커멘드행의 토큰을 나타내는 캐릭터 라인의 배열 cmdarray
, 및 환경 변수의 설정을 나타내는 캐릭터 라인의 배열 envp
를 지정하면(자), 이 메소드는 지정된 커멘드를 실행하기 위한 새로운 프로세스를 작성합니다.
이 메소드는,cmdarray
가 유효한 operating system 커멘드인 것을 확인합니다. 어느 커멘드가 유효한가는 시스템 의존입니다만, 커멘드는 적어도 null 이외의 캐릭터 라인의 빈 상태(empty)이 아닌 리스트가 아니면 안됩니다.
envp 가 null 의 경우, 서브 프로세스는 현재의 프로세스의 환경 설정을 상속합니다.
현재,ProcessBuilder.start()
는, 변경된 환경을 가지는 프로세스를 기동하는 방법으로서 추천 되고 있습니다.
새로운 서브 프로세스의 작업 디렉토리는 dir 로 지정합니다. dir 가 null 의 경우는, 서브 프로세스는 현재의 프로세스의 현재의 작업 디렉토리를 상속합니다.
시큐리티 매니저가 존재하는 경우는,cmdarray
배열의 최초의 컴퍼넌트를 인수로서 사용해 checkExec
메소드가 불려 갑니다. 이 결과,SecurityException
가 throw 되는 일이 있습니다.
operating system 프로세스의 기동은 극히 시스템에 의존합니다. 발생할 가능성이 있는 불편은 다음과 같습니다.
이상의 케이스에서는, 예외가 throw 됩니다. 예외의 정확한 특성은 시스템에 의존합니다만, 이것은 항상 IOException
의 서브 클래스가 됩니다.
cmdarray
- 실행하는 커멘드와 인수를 포함한 배열envp
- 캐릭터 라인의 배열. 배열의 각 요소는,name=value 라고 하는 형식에서 환경 변수 설정을 보관 유지한다. 또는, 서브 프로세스가 현재의 프로세스의 환경을 상속하는 경우는 nulldir
- 서브 프로세스가 현재의 프로세스의 작업 디렉토리를 상속하는 경우는, 서브 프로세스의 작업 디렉토리, 또는 null
Process
객체
SecurityException
- 시큐리티 매니저가 존재해,checkExec
메소드가 서브 프로세스의 작성을 허가하지 않는 경우
IOException
- 입출력 에러가 발생했을 경우
NullPointerException
- cmdarray
가 null
의 경우, 또는 cmdarray
의 요소의 어떤 것인가가 null
의 경우, 혹은 envp
의 요소의 어떤 것인가가 null
의 경우
IndexOutOfBoundsException
- cmdarray
가 길이가 0
의 빈 상태(empty)의 배열의 경우ProcessBuilder
public int availableProcessors()
이 값은, 가상 머신의 특정의 호출동안에 변화할 가능성이 있습니다. 이 때문에, 이용 가능한 프로세서수에 영향을 받는 어플리케이션은, 이 프로퍼티을 가끔 폴링 해, 자원 사용법을 조정할 필요가 있습니다.
public long freeMemory()
gc
메소드를 호출하면(자),freeMemory
에 의해 반환되는 값이 증가하는 경우가 있습니다.
public long totalMemory()
임의의 지정된 형태의 객체를 포함하는데 필요한 메모리 용량은, 구현에 따라서 다릅니다.
public long maxMemory()
Long.MAX_VALUE
가 돌려주어집니다.
public void gc()
gc
라고 하는 메소드명은 「garbage collector」의 두자를 취한 것입니다. gc
가 명시적으로는 불려 가지 않았던 경우에서도, 가상 머신은 이 재사용 프로세스를 필요에 따라서 자동적으로, 다른 thread로 실행합니다.
이 메소드를 호출하려면 ,System.gc()
메소드가 일반적이고 편리합니다.
public void runFinalization()
finalize
메소드가 실행되어 있지 않은 객체의 finalize
메소드를 실행하려고 합니다. 메소드 호출로부터 제어가 되돌려진 시점에서, 가상 머신은 모든 finalize를 완료하도록(듯이) 최선을 다한 것이 됩니다.
runFinalization
메소드가 명시적으로는 불려 가지 않았던 경우에서도, 가상 머신은 이 finalize프로세스를 필요에 따라서 자동적으로, 다른 thread로 실행합니다.
이 메소드를 호출하려면 ,System.runFinalization()
메소드가 일반적이고 편리합니다.
Object.finalize()
public void traceInstructions(boolean on)
boolean
인수가 true
인 경우, 이 메소드를 호출하면(자), Java 가상 머신은, 가상 머신내의 각 명령의 디버그 정보를 실행시에 출력합니다. 이 정보의 서식이나, 출력처가 되는 파일등의 출력 스트림은, 호스트 환경에 의해 다릅니다. 이 기능을 지원하지 않는 경우, 가상 머신은 요구를 무시하는 경우가 있습니다. 트레이스의 출력처는 시스템에 따라서 다릅니다.
boolean
인수에 false
를 지정하면(자), 가상 머신은 명령의 상세 트레이스의 출력을 정지합니다.
on
- 메소드의 트레이스를 실시하는 경우는 true
, 이 기능을 무효로 하는 경우는 false
public void traceMethodCalls(boolean on)
boolean
인수가 true
인 경우, 이 메소드를 호출하면(자), Java 가상 머신은, 가상 머신내의 각 메소드의 디버그 정보를 그 메소드 호출의 시점에서 출력합니다. 이 정보의 서식이나, 출력처가 되는 파일등의 출력 스트림은, 호스트 환경에 의해 다릅니다. 이 기능을 지원하지 않는 경우, 가상 머신은 요구를 무시하는 경우가 있습니다. 인수를 false 로 해 이 메소드를 호출하면(자), 가상 머신은, 호출할 것의 디버그 정보의 출력을 정지합니다.
on
- 메소드의 트레이스를 실시하는 경우는 true
, 이 기능을 무효로 하는 경우는 false
public void load(String filename)
Runtime.getRuntime(). load("/home/avh/lib/libX11.so");
).
우선, 시큐리티 매니저가 존재하는 경우, 그 checkLink
메소드를 호출합니다. 인수에는 filename
를 지정합니다. 이것은 시큐리티 예외가 되는 경우가 있습니다.
이것은 loadLibrary(String)
메소드와 닮아 있습니다만, 라이브러리명은 아니고 일반적인 파일명을 인수로서 지정할 수 있기 (위해)때문에, native code로 쓰여진 임의의 파일이 로드 가능하게 됩니다.
이 메소드를 호출하려면 ,System.load(String)
메소드가 일반적이고 편리합니다.
filename
- 로드하는 파일
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkLink
메소드가, 지정된 다이나믹 라이브러리의 로드를 허가하지 않는 경우
UnsatisfiedLinkError
- 파일이 존재하지 않는 경우
NullPointerException
- filename
가 null
의 경우getRuntime()
,
SecurityException
,
SecurityManager.checkLink(java.lang.String)
public void loadLibrary(String libname)
우선, 시큐리티 매니저가 존재하는 경우, 그 checkLink
메소드를 호출합니다. 인수에는 libname
를 지정합니다. 이것은 시큐리티 예외가 되는 경우가 있습니다.
이 메소드를 호출하려면 ,System.loadLibrary(String)
메소드가 일반적이고 편리합니다. 네이티브 메소드를 클래스의 구현으로 사용하는 경우, 표준적으로는, native code를 라이브러리 파일 (여기에서는, 설명상 LibFile
로 한다)에 넣고 나서, 클래스 선언에 다음의 static 초기화자를 넣습니다.
이렇게 하면, 클래스가 로드 및 초기화될 때, 네이티브 메소드에 필요한 native code의 구현도 똑같이 로드 됩니다.static { System.loadLibrary("LibFile"); }
같은 라이브러리명을 지정해 이 메소드를 여러 차례 호출해도, 2 번째 이후의 호출은 무시됩니다.
libname
- 라이브러리의 이름
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkLink
메소드가, 지정된 다이나믹 라이브러리의 로드를 허가하지 않는 경우
UnsatisfiedLinkError
- 라이브러리가 존재하지 않는 경우
NullPointerException
- libname
가 null
의 경우SecurityException
,
SecurityManager.checkLink(java.lang.String)
@Deprecated public InputStream getLocalizedInputStream(InputStream in)
InputStreamReader
클래스와 BufferedReader
클래스를 사용하는 (분)편이 적절합니다.
InputStream
를 받아, 로컬라이즈 되고 있는 이외는 인수의 스트림과 완전히 같은 InputStream
를 돌려줍니다. 로컬 캐릭터 세트의 문자를 스트림로부터 읽어들이려면 , 로컬 캐릭터 세트로부터 Unicode 에 자동적으로 변환합니다. 인수로 지정한 스트림이 로컬라이즈가 끝난 상태인 경우는, 그대로 결과적으로 돌려주어집니다.
in
- 로컬라이즈 하는 InputStream
InputStream
,
BufferedReader.BufferedReader(java.io.Reader)
,
InputStreamReader.InputStreamReader(java.io.InputStream)
@Deprecated public OutputStream getLocalizedOutputStream(OutputStream out)
OutputStreamWriter
클래스,BufferedWriter
클래스, 및 PrintWriter
클래스를 사용하는 (분)편이 적절합니다.
OutputStream
를 받아, 로컬라이즈 되고 있는 이외는 인수의 스트림과 완전히 같은 OutputStream
를 돌려줍니다. Unicode 를 스트림에 기입하려면 , Unicode 로부터 로컬 캐릭터 세트에 자동적으로 변환합니다. 인수로 지정한 스트림이 로컬라이즈가 끝난 상태인 경우는, 그대로 결과적으로 돌려주어집니다.
out
- 로컬라이즈 하는 OutputStream
OutputStream
,
BufferedWriter.BufferedWriter(java.io.Writer)
,
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)
,
PrintWriter.PrintWriter(java.io.OutputStream)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.