public final class System extends Object
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()
システム・セキュリティ・インタフェースを取得します。
|
static int |
identityHashCode(Object x)
指定されたオブジェクトのクラスがhashCode()をオーバーライドしているかどうかに関係なく、デフォルトのhashCode()メソッドにより返されるものと同じ、指定されたオブジェクトのハッシュ・コードを返します。
|
static Channel |
inheritedChannel()
Java仮想マシンを作成したエンティティから継承されたチャネルを返します。
|
static String |
lineSeparator()
システムに依存する行区切り文字列を返します。
|
static void |
load(String filename)
filename引数によって指定されたネイティブ・ライブラリをロードします。
|
static void |
loadLibrary(String libname)
引数
libname によって指定されるネイティブ・ライブラリをロードします。 |
static String |
mapLibraryName(String libname)
ライブラリ名を、ネイティブ・ライブラリを表すプラットフォーム依存の文字列にマッピングします。
|
static long |
nanoTime()
実行中のJava仮想マシンの高精度時間ソースの現在値を、ナノ秒の単位で返します。
|
static void |
runFinalization()
ファイナライズを保留しているオブジェクトのファイナライズ・メソッドを実行します。
|
static void |
runFinalizersOnExit(boolean value)
非推奨。
このメソッドは本質的に安全ではありません。ファイナライザがライブ・オブジェクトに対して呼び出される結果になる可能性があり、そのときにほかのスレッドがそれらのオブジェクトを並行して操作していると、動作が異常になるか、デッドロックが発生します。
|
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)
システム・セキュリティを設定します。
|
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
値が、一般的に継続的には監視されていないファイルまたはその他の転送先にリダイレクトしている場合でも、ユーザーに注意を促すためのエラー・メッセージまたはその他の情報を表示するために、通例この出力ストリームが使用されます。「標準」入力ストリームを割り当てし直します。
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
がスローされることがあります。
そうでない場合は、引数を現在のセキュリティ・マネージャに設定します。引数が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()
このメソッドは、経過時間を測定するためだけに使用できます。システムのほかの概念や壁時計の時刻に関連していません。返される値は、固定された任意の基準時間からの経過時間(ナノ秒)です。将来的に、値が負の数になる可能性があります。あるJava仮想マシンのインスタンス内でのこのメソッドのすべての呼出しでは、同じ情報源が使用されます。ほかの仮想マシン・インスタンスでは、おそらく異なる情報源が使用されます。
このメソッドが提供する精度はナノ秒ですが、その解像度(つまり値の変更頻度)は必ずしもナノ秒ではありません。その解像度は少なくともcurrentTimeMillis()
と同じである、という以外の保証は一切ありません。
約292年(263ナノ秒)を超える連続した呼出しの差異では、数値のオーバーフローにより経過時間が正しく計算されません。
このメソッドから返される値に意味があるのは、Java仮想マシンの同じインスタンス内で得られたそうした2つの値の差を計算する場合だけです。
たとえば、一部のコードで実行にかかる時間を測定するには、次のようになります。
long startTime = System.nanoTime();
// ... the code being measured ...
long estimatedTime = System.nanoTime() - startTime;
2つのnanoTime値を比較する場合
long t0 = System.nanoTime();
...
long t1 = System.nanoTime();
t1 < t0
ではなくt1 - t0 < 0
を使用すべきですが、それは、数値のオーバーフローが発生する可能性があるからです。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
がスローされます。
src
がnull
の場合、NullPointerException
がスローされ、転送先の配列は変更されません。
次のどれかがtrueである場合は、ArrayStoreException
をスローし、転送先を修正しません。
src
が、配列でないオブジェクトを参照する。
dest
が、配列でないオブジェクトを参照する。
src
および引数dest
が、要素の種類が異なるプリミティブ型の配列である。
src
がプリミティブ要素型の配列であり、引数dest
が参照要素型の配列である。
src
が参照要素型の配列であり、引数dest
がプリミティブ要素型の配列である。
次のどれかがtrueである場合は、IndexOutOfBoundsException
をスローし、転送先を修正しません。
srcPos
が負の値である。
destPos
が負の値である。
length
が負の値である。
srcPos+length
がsrc.length
(ソース配列の長さ)より大きい場合。
destPos+length
がdest.length
(転送先配列の長さ)より大きい場合。
そうでない場合、srcPos
からsrcPos+length-1
までの位置にあるソース配列の実際の要素が、代入変換によって転送先配列の要素型に変換できないときは、ArrayStoreException
をスローします。この場合、kを長さよりも小さく、負以外の最小整数型にして、src[srcPos+
k]
を転送先配列のコンポーネント型に変換できないようにします。例外をスローする場合、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 |
オペレーティング・システム名 |
os.arch |
オペレーティング・システムのアーキテクチャ |
os.version |
オペレーティング・システムのバージョン |
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 String lineSeparator()
line.separator
の初期値)を返します。
その戻り値は、UNIXシステムでは"\n"
、Microsoft Windowsシステムでは"\r\n"
になります。
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
- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPropertyAccess
メソッドが指定されたシステム・プロパティへのアクセスを許可しない場合。NullPointerException
- key
がnull
である場合。IllegalArgumentException
- key
が空である場合。setProperty(java.lang.String, java.lang.String)
, SecurityException
, SecurityManager.checkPropertyAccess(java.lang.String)
, getProperties()
public static String getProperty(String key, String def)
まず、セキュリティ・マネージャが存在する場合は、checkPropertyAccess
メソッドがkey
をその引数に指定して呼び出されます。
システム・プロパティの現在のセットがない場合、システム・プロパティのセットをまず作成し、getProperties
メソッドと同じ方法で初期化します。
key
- システム・プロパティの名前。def
- デフォルト値。SecurityException
- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPropertyAccess
メソッドが指定されたシステム・プロパティへのアクセスを許可しない場合。NullPointerException
- key
がnull
である場合。IllegalArgumentException
- key
が空である場合。setProperty(java.lang.String, java.lang.String)
, SecurityManager.checkPropertyAccess(java.lang.String)
, getProperties()
public static String setProperty(String key, String value)
まず、セキュリティ・マネージャが存在する場合は、そのSecurityManager.checkPermission
メソッドがPropertyPermission(key, "write")
アクセス権で呼び出されます。この結果、SecurityExceptionがスローされることがあります。例外がスローされなかった場合は、指定されたプロパティが指定された値に設定されます。
key
- システム・プロパティの名前。value
- システム・プロパティの値。null
。SecurityException
- セキュリティ・マネージャが存在し、そのcheckPermission
メソッドが、指定されたプロパティの設定を許可しない場合。NullPointerException
- key
またはvalue
がnull
の場合。IllegalArgumentException
- key
が空である場合。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)
まず、セキュリティ・マネージャが存在する場合は、そのSecurityManager.checkPermission
メソッドがPropertyPermission(key, "write")
アクセス権で呼び出されます。この結果、SecurityExceptionがスローされることがあります。例外がスローされなかった場合は、指定されたプロパティは削除されます。
key
- 削除されるシステム・プロパティの名前。null
。SecurityException
- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPropertyAccess
メソッドが指定されたシステム・プロパティへのアクセスを許可しない場合。NullPointerException
- key
がnull
である場合。IllegalArgumentException
- key
が空である場合。getProperty(java.lang.String)
, setProperty(java.lang.String, java.lang.String)
, Properties
, SecurityException
, SecurityManager.checkPropertiesAccess()
public static String getenv(String name)
セキュリティ・マネージャが存在する場合は、そのcheckPermission
メソッドが
アクセス権で呼び出されます。これにより、RuntimePermission
("getenv."+name)SecurityException
がスローされる可能性があります。例外がスローされない場合、変数name
の値が返されます。
システム・プロパティと環境変数はどちらも、名前と値の間で概念的にマップされています。両方のメカニズムを使って、ユーザー定義情報をJavaプロセスに渡すことができます。環境変数は、よりグローバルな効果を及ぼします。これは、プロセスにより定義されたすべての子孫にとって環境変数が直接のJavaサブプロセスであるばかりでなく、可視であるからです。これらは、異なるオペレーティング・システム上で微妙に異なるセマンティックス(大文字と小文字を区別しないなど)を持つことができます。これらの理由から、環境変数は意図しない副作用を持つ可能性が高くなります。可能な場合は、システム・プロパティを使用することがもっとも適切です。環境変数は、グローバルな効果が必要なときや、外部システム・インタフェースが環境変数(PATH
など)を必要とするときに使う必要があります。
UNIXシステムでは、name
のアルファベットの大文字と小文字は区別されますが、Microsoft Windowsシステムでは一般に区別されません。たとえば、Microsoft Windowsでは、式System.getenv("FOO").equals(System.getenv("foo"))
はおそらくtrueになります。
name
- 環境変数の名前null
NullPointerException
- name
がnull
である場合SecurityException
- セキュリティ・マネージャが存在し、そのcheckPermission
メソッドが環境変数name
へのアクセスを許可しない場合getenv()
, ProcessBuilder.environment()
public static Map<String,String> getenv()
システムが環境変数をサポートしていない場合は、空のマップが返されます。
返されたマップは、nullのキーや値を含みません。nullのキーや値があるか照会すると、NullPointerException
がスローされます。String
以外の型のキーや値が存在するかどうかのクエリーを試みると、ClassCastException
がスローされます。
返されたマップとそのコレクション・ビューは、Object.equals(java.lang.Object)
メソッドとObject.hashCode()
メソッドの汎用規約に従わない可能性があります。
返されたマップは、一般にすべてのプラットフォームで大文字と小文字を区別します。
セキュリティ・マネージャが存在する場合は、そのcheckPermission
メソッドが
アクセス権で呼び出されます。これにより、RuntimePermission
("getenv.*")SecurityException
がスローされる可能性があります。
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仮想マシンが、すべての未処理のファイナライズを最大限まで完了し終えたときです。
System.runFinalization()
の呼出しの動作は、実際には次の呼び出しと同じです。
Runtime.getRuntime().runFinalization()
@Deprecated public static void runFinalizersOnExit(boolean value)
セキュリティ・マネージャが存在する場合、終了が許可されるように、最初にそのcheckExit
メソッドが0を引数に指定して呼び出されます。この結果、SecurityExceptionがスローされることがあります。
value
- ファイナライズを有効にするか無効にするかを示す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
- filenameが絶対パス名でない場合、ネイティブ・ライブラリがVMと静的にリンクされていない場合、またはホスト・システムがそのライブラリをネイティブ・ライブラリ・イメージにマップできない場合。NullPointerException
- filename
がnull
である場合Runtime.load(java.lang.String)
, SecurityManager.checkLink(java.lang.String)
public static void loadLibrary(String libname)
libname
によって指定されるネイティブ・ライブラリをロードします。libname
引数には、プラットフォーム固有の接頭辞、ファイル拡張子、またはパスを含めないでください。libname
というネイティブ・ライブラリがVMと静的にリンクされている場合は、そのライブラリによってエクスポートされるJNI_OnLoad_libname
関数が呼び出されます。詳細は、「JNI仕様」を参照してください。それ以外の場合、libname引数はシステム・ライブラリの場所からロードされ、実装に依存した方法でネイティブ・ライブラリ・イメージにマップされます。
System.loadLibrary(name)
呼出しの動作は、実際には次の呼び出しと同じです
Runtime.getRuntime().loadLibrary(name)
libname
- ライブラリの名前。SecurityException
- セキュリティ・マネージャが存在し、そのcheckLink
メソッドが、指定されたダイナミック・ライブラリのロードを許可しない場合UnsatisfiedLinkError
- libname引数にファイル・パスが含まれている場合、ネイティブ・ライブラリがVMと静的にリンクされていない場合、またはホスト・システムがそのライブラリをネイティブ・ライブラリ・イメージにマップできない場合。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)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.