public interface Context
ほとんどのメソッドには、Name
パラメータおよびString
を使用するオーバーロードされたバージョンがあります。これらのオーバーロードされたバージョンは、Name
パラメータとString
パラメータが単に同じ名前の異なる表現である場合に、同じメソッドのオーバーロードされたバージョンが同じように動作するという点で同等です。以下のメソッドの説明では、1つのバージョンだけが完全にドキュメント化されています。2番目のバージョンには、最初のバージョンへのリンクがあり、同じドキュメントが両方に適用されます。
連合をサポートするシステムでは、Contextメソッドに対するString名前引数は、合成名です。CompositeNameのインスタンスである名前引数は合成名とみなされ、CompositeNameのインスタンスではないName引数は、CompoundNameのインスタンス、または複合名のその他の実装である複合名とみなされます。これにより、NameParser.parse()の結果をContexメソッドに対する引数として使用できます。JNDI 1.2以前は、すべての名前引数が合成名とみなされていました。
さらに、連合をサポートするシステムでは、list()およびlistBindings()からNamingEnumerationに返される名前はすべて、文字列として表される合成名です。名前の文字列構文については、CompositeNameを参照してください。
連合をサポートしていないシステムでは、(NameまたはString形式の)名前引数およびNamingEnumerationで返される名前は、サービス・プロバイダの判断により、合成名前空間の名前ではなく、独自の名前空間の名前になることがあります。
lookup
メソッドでは、空の名前を引き渡すときに、同じネーミング・コンテキストを表す新しいContextインスタンスが返されます。
並行性を制御するために、NamingEnumerationを返すコンテキスト・オペレーションは、列挙が使用中のとき、またはそのオペレーションで生成される参照が実行中のときには、完了していないものとみなされます。
JNDIアプリケーションでは、ネーミング・サービスとディレクトリ・サービスからアクセスされる環境を定義する、さまざまな設定やプロパティを伝達する方法が必要とされます。たとえば、あるコンテキストでは、サービスにアクセスするためにセキュリティ資格の指定が必要になります。別のコンテキストでは、サーバー構成情報を指定する必要があります。これらは、コンテキストの環境と呼ばれます。Contextインタフェースでは、この環境を取得および更新するためのメソッドが提供されています。
環境は、コンテキスト・メソッドがあるコンテキストから次のコンテキストに進むにつれて、親コンテキストから継承されます。1つのコンテキストの環境を変更しても、その他のコンテキストの環境には直接影響しません。
環境プロパティの使用、または有効性の検査、あるいはその両方がいつ行われるかは、実装に依存します。たとえば、ディレクトリに「ログイン」するために、サービス・プロバイダでセキュリティ関連のプロパティが使用されるとします。このログイン・プロセスは、コンテキストが作成されたとき、またはコンテキストでメソッドが最初に呼び出されたときに発生します。これがいつ発生するか、および発生するかどうかは、実装に依存します。コンテキストに対して環境プロパティの追加または削除が行われたときに、変更の有効性の検査が行われるタイミングも、実装に依存します。たとえば、あるプロパティの検査は、変更が行われたとき、またはコンテキストで次のオペレーションが実行されたときに行われるか、あるいはまったく行われません。
コンテキストへの参照を含むオブジェクトでは、そのコンテキストの環境が検査されます。クリアテキストのパスワードなどの重要な情報は、実装で保護されているかどうかがわからない場合には、保存しないでください。
JNDIアプリケーションで必要な環境を設定するタスクを簡単にするために、アプリケーション・コンポーネントとサービス・プロバイダがリソース・ファイルとともに分配されることがあります。JNDIリソース・ファイルは、キーと値のペアのリストを含む、プロパティ・ファイル形式のファイルです(java.util.Properties
を参照)。キーはプロパティの名前(java.naming.factory.objectなど)で、値はそのプロパティに定義された形式の文字列です。次に、JNDIリソース・ファイルの例を示します。
java.naming.factory.object=com.sun.jndi.ldap.AttrsToCorba:com.wiz.from.Person java.naming.factory.state=com.sun.jndi.ldap.CorbaToAttrs:com.wiz.from.Person java.naming.factory.control=com.sun.jndi.ldap.ResponseControlFactory
JNDIクラス・ライブラリでは、リソース・ファイルを読み込み、プロパティ値を自由に使用できるようにします。JNDIリソース・ファイルは、不特定のユーザーが読み込む可能性があります。クリアテキストのパスワードなどの重要な情報は、ここに保存しないでください。
JNDIリソース・ファイルには、プロバイダおよびアプリケーションの2種類があります。
[prefix/]jndiprovider.propertiesここで、prefixはプロバイダのコンテキスト実装のパッケージ名であり、各ピリオド(「.」)はスラッシュ(「/」)に変換されます。たとえば、あるサービス・プロバイダがクラス名com.sun.jndi.ldap.LdapCtxのコンテキスト実装を定義するとします。このプロバイダのためのプロバイダ・リソースは、com/sun/jndi/ldap/jndiprovider.propertiesと指定されます。クラスがパッケージにない場合、リソースの名前は単にjndiprovider.propertiesになります。
JNDIクラス・ライブラリの特定のメソッドでは、JNDIファクトリのリストを指定する標準JNDIプロパティが使用されます。
ClassLoader.getResources()
を使用して、classpathのjndi.propertiesという名前のアプリケーション・リソース・ファイルがすべて検索されます。さらに、ファイルjava.home/lib/jndi.propertiesが存在し、読込み可能な場合は、追加のアプリケーション・リソース・ファイルとみなされます(java.homeは、java.homeシステム・プロパティに指定されたディレクトリを示します)。これらのファイルに含まれるプロパティはすべて、初期コンテキストの環境に配置されます。この環境は、他のコンテキストに継承されます。
1つ以上のアプリケーション・リソース・ファイルにあるプロパティの場合、JNDIでは検索された最初の値が使用されるか、または意味がある場合に限り、すべての値が連結されます(詳細は次に示します)。たとえば、3つのjndi.propertiesリソース・ファイルにjava.naming.factory.objectプロパティがある場合、オブジェクト・ファクトリのリストは、3つのファイルすべてからのプロパティ値の連結になります。この方式を使用すると、配置可能なコンポーネントのそれぞれで、エクスポートするファクトリがリスト表示されます。JNDIでは、ファクトリ・クラスを検索するときに、これらのエクスポート・リストがすべて収集および使用されます。
JNDIクラス・ライブラリでプロパティの値を決定する必要がある場合は、次の2つのソースから値を順にマージして実行します。
サービス・プロバイダでプロパティの値を決定する必要がある場合、通常は環境から値が直接取得されます。サービス・プロバイダは、独自のプロバイダ・リソース・ファイルに配置される、プロバイダ固有のプロパティを定義できます。その場合は、前の段落で説明した値をマージする必要があります。
このように、各サービス・プロバイダの開発者は、そのサービス・プロバイダで使用するファクトリのリストを指定できます。これらは、アプリケーションまたはアプレットの配置者が指定するアプリケーション・リソースで変更できます。また、ユーザーが変更することもできます。
修飾子と型 | フィールドと説明 |
---|---|
static String |
APPLET
ほかのプロパティを検索するときに使用する初期コンテキスト・コンストラクタのアプレットを指定するための、環境プロパティの名前を保持する定数です。
|
static String |
AUTHORITATIVE
要求されたサービスの権限を指定するための、環境プロパティの名前を保持する定数です。
|
static String |
BATCHSIZE
サービスのプロトコルによってデータを返すときに使用するバッチ・サイズを指定するための、環境プロパティの名前を保持する定数です。
|
static String |
DNS_URL
JNDI URLコンテキスト(dns://somehost/wiz.comなど)に使用するDNSホスト名およびドメイン名を指定するための、環境プロパティの名前を保持する定数です。
|
static String |
INITIAL_CONTEXT_FACTORY
使用する初期コンテキスト・ファクトリを指定するための、環境プロパティの名前を保持する定数です。
|
static String |
LANGUAGE
サービスに使用する優先言語を指定するための、環境プロパティの名前を保持する定数です。
|
static String |
OBJECT_FACTORIES
使用するオブジェクト・ファクトリのリストを指定するための、環境プロパティの名前を保持する定数です。
|
static String |
PROVIDER_URL
使用するサービス・プロバイダの構成情報を指定するための、環境プロパティの名前を保持する定数です。
|
static String |
REFERRAL
サービス・プロバイダによって参照が処理される方法を指定するための、環境プロパティの名前を保持する定数です。
|
static String |
SECURITY_AUTHENTICATION
使用するセキュリティ・レベルを指定するための、環境プロパティの名前を保持する定数です。
|
static String |
SECURITY_CREDENTIALS
サービスに対する呼出し側を認証する主体の資格を指定するための、環境プロパティの名前を保持する定数です。
|
static String |
SECURITY_PRINCIPAL
サービスに対する呼出し側を認証する主体の識別情報を指定するための、環境プロパティの名前を保持する定数です。
|
static String |
SECURITY_PROTOCOL
使用するセキュリティ・プロトコルを指定するための、環境プロパティの名前を保持する定数です。
|
static String |
STATE_FACTORIES
使用する状態ファクトリのリストを指定するための、環境プロパティの名前を保持する定数です。
|
static String |
URL_PKG_PREFIXES
URLコンテキスト・ファクトリをロードするときに使用するパッケージ接頭辞のリストを指定するための、環境プロパティの名前を保持する定数です。
|
修飾子と型 | メソッドと説明 |
---|---|
Object |
addToEnvironment(String propName, Object propVal)
このコンテキストの環境に、新しい環境プロパティを追加します。
|
void |
bind(Name name, Object obj)
名前をオブジェクトにバインドします。
|
void |
bind(String name, Object obj)
名前をオブジェクトにバインドします。
|
void |
close()
このコンテキストを閉じます。
|
Name |
composeName(Name name, Name prefix)
このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。
|
String |
composeName(String name, String prefix)
このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。
|
Context |
createSubcontext(Name name)
新しいコンテキストを作成してバインドします。
|
Context |
createSubcontext(String name)
新しいコンテキストを作成してバインドします。
|
void |
destroySubcontext(Name name)
名前付きコンテキストを破棄し、名前空間から削除します。
|
void |
destroySubcontext(String name)
名前付きコンテキストを破棄し、名前空間から削除します。
|
Hashtable<?,?> |
getEnvironment()
このコンテキストで有効な環境を取得します。
|
String |
getNameInNamespace()
独自の名前空間でこのコンテキストの完全な名前を取得します。
|
NameParser |
getNameParser(Name name)
名前付きコンテキストに関連したパーサーを取得します。
|
NameParser |
getNameParser(String name)
名前付きコンテキストに関連したパーサーを取得します。
|
NamingEnumeration<NameClassPair> |
list(Name name)
バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。
|
NamingEnumeration<NameClassPair> |
list(String name)
バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。
|
NamingEnumeration<Binding> |
listBindings(Name name)
バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。
|
NamingEnumeration<Binding> |
listBindings(String name)
バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。
|
Object |
lookup(Name name)
名前付きオブジェクトを取得します。
|
Object |
lookup(String name)
名前付きオブジェクトを取得します。
|
Object |
lookupLink(Name name)
名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。
|
Object |
lookupLink(String name)
名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。
|
void |
rebind(Name name, Object obj)
名前をオブジェクトにバインドし、既存のバインディングを上書きします。
|
void |
rebind(String name, Object obj)
名前をオブジェクトにバインドし、既存のバインディングを上書きします。
|
Object |
removeFromEnvironment(String propName)
このコンテキストの環境から環境プロパティを削除します。
|
void |
rename(Name oldName, Name newName)
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。
|
void |
rename(String oldName, String newName)
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。
|
void |
unbind(Name name)
名前付きオブジェクトをアンバインドします。
|
void |
unbind(String name)
名前付きオブジェクトをアンバインドします。
|
static final String INITIAL_CONTEXT_FACTORY
この定数の値は"java.naming.factory.initial"です。
static final String OBJECT_FACTORIES
この定数の値は"java.naming.factory.object"です。
static final String STATE_FACTORIES
この定数の値は"java.naming.factory.state"です。
static final String URL_PKG_PREFIXES
この定数の値は"java.naming.factory.url.pkgs"です。
static final String PROVIDER_URL
この定数の値は"java.naming.provider.url"です。
static final String DNS_URL
この定数の値は"java.naming.dns.url"です。
static final String AUTHORITATIVE
この定数の値は"java.naming.authoritative"です。
static final String BATCHSIZE
この定数の値は"java.naming.batchsize"です。
static final String REFERRAL
この定数の値は"java.naming.referral"です。
static final String SECURITY_PROTOCOL
この定数の値は"java.naming.security.protocol"です。
static final String SECURITY_AUTHENTICATION
この定数の値は"java.naming.security.authentication"です。
static final String SECURITY_PRINCIPAL
この定数の値は"java.naming.security.principal"です。
static final String SECURITY_CREDENTIALS
この定数の値は"java.naming.security.credentials"です。
static final String LANGUAGE
この定数の値は"java.naming.language"です。
static final String APPLET
この定数の値は"java.naming.applet"です。
addToEnvironment(String, Object)
, removeFromEnvironment(String)
, InitialContext
, 定数フィールド値Object lookup(Name name) throws NamingException
name
- 検索するオブジェクトの名前NamingException
- ネーミング例外が発生した場合lookup(String)
, lookupLink(Name)
Object lookup(String name) throws NamingException
lookup(Name)
を参照してください。name
- 検索するオブジェクトの名前NamingException
- ネーミング例外が発生した場合void bind(Name name, Object obj) throws NamingException
name
- バインドする名前。空は不可obj
- バインドするオブジェクト。nullの可能性があるNameAlreadyBoundException
- 名前がすでにバインドされている場合InvalidAttributesException
- オブジェクトによって一部の必須属性が指定されなかった場合NamingException
- ネーミング例外が発生した場合bind(String, Object)
, rebind(Name, Object)
, DirContext.bind(Name, Object, javax.naming.directory.Attributes)
void bind(String name, Object obj) throws NamingException
bind(Name, Object)
を参照してください。name
- バインドする名前。空は不可obj
- バインドするオブジェクト。nullの可能性があるNameAlreadyBoundException
- 名前がすでにバインドされている場合InvalidAttributesException
- オブジェクトによって一部の必須属性が指定されなかった場合NamingException
- ネーミング例外が発生した場合void rebind(Name name, Object obj) throws NamingException
オブジェクトがDirContextの場合、名前に関連付けられている既存の属性はすべて、そのオブジェクトの属性に置き換えられます。そうでない場合、名前に関連付けられている既存の属性は、変更されないままです。
name
- バインドする名前。空は不可obj
- バインドするオブジェクト。nullの可能性があるInvalidAttributesException
- オブジェクトによって一部の必須属性が指定されなかった場合NamingException
- ネーミング例外が発生した場合rebind(String, Object)
, bind(Name, Object)
, DirContext.rebind(Name, Object, javax.naming.directory.Attributes)
, DirContext
void rebind(String name, Object obj) throws NamingException
rebind(Name, Object)
を参照してください。name
- バインドする名前。空は不可obj
- バインドするオブジェクト。nullの可能性があるInvalidAttributesException
- オブジェクトによって一部の必須属性が指定されなかった場合NamingException
- ネーミング例外が発生した場合void unbind(Name name) throws NamingException
name
の終端の基本部分を除くすべてによって指定されたターゲット・コンテキストからname
の終端の基本名を削除します。
このメソッドはべき等です。終端の基本名がターゲット・コンテキストでバインドされていない場合でも成功しますが、いずれかの中間コンテキストが存在しない場合はNameNotFoundExceptionがスローされます。
名前に関連付けられている属性が削除されます。中間コンテキストは変更されません。
name
- アンバインドする名前。空は不可NameNotFoundException
- 中間コンテキストが存在しない場合NamingException
- ネーミング例外が発生した場合unbind(String)
void unbind(String name) throws NamingException
unbind(Name)
を参照してください。name
- アンバインドする名前。空は不可NameNotFoundException
- 中間コンテキストが存在しない場合NamingException
- ネーミング例外が発生した場合void rename(Name oldName, Name newName) throws NamingException
oldName
- 既存のバインディングの名前。空は不可newName
- 新しいバインディングの名前。空は不可NameAlreadyBoundException
- newNameがすでにバインドされている場合NamingException
- ネーミング例外が発生した場合rename(String, String)
, bind(Name, Object)
, rebind(Name, Object)
void rename(String oldName, String newName) throws NamingException
rename(Name, Name)
を参照してください。oldName
- 既存のバインディングの名前。空は不可newName
- 新しいバインディングの名前。空は不可NameAlreadyBoundException
- newNameがすでにバインドされている場合NamingException
- ネーミング例外が発生した場合NamingEnumeration<NameClassPair> list(Name name) throws NamingException
このコンテキストにバインディングが追加されるか、またはこのコンテキストからバインディングが削除される場合、以前に返された列挙への影響は定義されていません。
name
- リスト表示するコンテキストの名前NamingException
- ネーミング例外が発生した場合list(String)
, listBindings(Name)
, NameClassPair
NamingEnumeration<NameClassPair> list(String name) throws NamingException
list(Name)
を参照してください。name
- リスト表示するコンテキストの名前NamingException
- ネーミング例外が発生した場合NamingEnumeration<Binding> listBindings(Name name) throws NamingException
このコンテキストにバインディングが追加されるか、またはこのコンテキストからバインディングが削除される場合、以前に返された列挙への影響は定義されていません。
name
- リスト表示するコンテキストの名前NamingException
- ネーミング例外が発生した場合listBindings(String)
, list(Name)
, Binding
NamingEnumeration<Binding> listBindings(String name) throws NamingException
listBindings(Name)
を参照してください。name
- リスト表示するコンテキストの名前NamingException
- ネーミング例外が発生した場合void destroySubcontext(Name name) throws NamingException
このメソッドはべき等です。終端の基本名がターゲット・コンテキストでバインドされていない場合でも成功しますが、いずれかの中間コンテキストが存在しない場合はNameNotFoundExceptionがスローされます。
連合ネーミング・システムでは、1つのネーミング・システムからのコンテキストが別のネーミング・システムの名前にバインドされます。そのあと、合成名を使用して外部コンテキストのオペレーションを検索および実行できます。ただし、外部コンテキストはバインドされたコンテキストの「サブコンテキスト」ではないため、この合成名を使用してコンテキストを破棄しようとすると、NotContextExceptionで失敗します。代わりに、unbind()を使用して、外部コンテキストのバインディングを削除します。外部コンテキストを破棄するには、外部コンテキストの「ネイティブな」ネーミング・システムからのコンテキストでdestroySubcontext()を実行する必要があります。
name
- 破棄されるコンテキストの名前。空は不可NameNotFoundException
- 中間コンテキストが存在しない場合NotContextException
- 名前がバインドされているが、コンテキストに名前を付けていないか、または該当する型のコンテキストに名前を付けていない場合ContextNotEmptyException
- 指定されたコンテキストが空でない場合NamingException
- ネーミング例外が発生した場合destroySubcontext(String)
void destroySubcontext(String name) throws NamingException
destroySubcontext(Name)
を参照してください。name
- 破棄されるコンテキストの名前。空は不可NameNotFoundException
- 中間コンテキストが存在しない場合NotContextException
- 名前がバインドされているが、コンテキストに名前を付けていないか、または該当する型のコンテキストに名前を付けていない場合ContextNotEmptyException
- 指定されたコンテキストが空でない場合NamingException
- ネーミング例外が発生した場合Context createSubcontext(Name name) throws NamingException
name
- 作成するコンテキストの名前。空は不可NameAlreadyBoundException
- 名前がすでにバインドされている場合InvalidAttributesException
- サブコンテキストの作成に必須属性の指定が必要な場合NamingException
- ネーミング例外が発生した場合createSubcontext(String)
, DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes)
Context createSubcontext(String name) throws NamingException
createSubcontext(Name)
を参照してください。name
- 作成するコンテキストの名前。空は不可NameAlreadyBoundException
- 名前がすでにバインドされている場合InvalidAttributesException
- サブコンテキストの作成に必須属性の指定が必要な場合NamingException
- ネーミング例外が発生した場合Object lookupLink(Name name) throws NamingException
name
- 検索するオブジェクトの名前NamingException
- ネーミング例外が発生した場合lookupLink(String)
Object lookupLink(String name) throws NamingException
lookupLink(Name)
を参照してください。name
- 検索するオブジェクトの名前NamingException
- ネーミング例外が発生した場合NameParser getNameParser(Name name) throws NamingException
name
- パーサーの取得元のコンテキストの名前NamingException
- ネーミング例外が発生した場合getNameParser(String)
, CompoundName
NameParser getNameParser(String name) throws NamingException
getNameParser(Name)
を参照してください。name
- パーサーの取得元のコンテキストの名前NamingException
- ネーミング例外が発生した場合Name composeName(Name name, Name prefix) throws NamingException
name
)、上位コンテキストの1つを基準にしたこのコンテキストの名前(prefix
)を指定すると、このメソッドは、関連するネーミング・システムに該当する構文を使用して、2つの名前の複合を返します。つまり、name
によって、このコンテキストに関連してオブジェクトに名前を付ける場合、結果は同じオブジェクトの名前になりますが、上位コンテキストに関連しています。名前はnullにできません。
たとえば、このコンテキストが初期コンテキストに関連して"wiz.com"と命名された場合、
composeName("east", "wiz.com")上記は、
"east.wiz.com"
を返します。このコンテキストの名前がorg/researchの場合、
composeName("user/jane", "org/research")上記は
"org/research/user/jane"
を返し、
composeName("user/jane", "research")上記は
"research/user/jane"
を返します。name
- このコンテキストを基準にした名前prefix
- いずれかの上位コンテキストを基準にした、このコンテキストの名前prefix
とname
の変換NamingException
- ネーミング例外が発生した場合composeName(String, String)
String composeName(String name, String prefix) throws NamingException
composeName(Name, Name)
を参照してください。name
- このコンテキストを基準にした名前prefix
- いずれかの上位コンテキストを基準にした、このコンテキストの名前prefix
とname
の変換NamingException
- ネーミング例外が発生した場合Object addToEnvironment(String propName, Object propVal) throws NamingException
propName
- 追加する環境プロパティの名前。nullは不可propVal
- 追加するプロパティの値。nullは不可NamingException
- ネーミング例外が発生した場合getEnvironment()
, removeFromEnvironment(String)
Object removeFromEnvironment(String propName) throws NamingException
propName
- 削除する環境プロパティの名前。nullは不可NamingException
- ネーミング例外が発生した場合getEnvironment()
, addToEnvironment(String, Object)
Hashtable<?,?> getEnvironment() throws NamingException
呼出し元が、返されるオブジェクトを変更してはいけません。そのコンテキストへの影響は未定義です。このコンテキストの環境は、addToEnvironment()とremoveFromEnvironment()を使用して変更できます。
NamingException
- ネーミング例外が発生した場合addToEnvironment(String, Object)
, removeFromEnvironment(String)
void close() throws NamingException
このメソッドはべき等です。すでに閉じられたコンテキストでこのメソッドを呼び出しても、効果はありません。閉じられたコンテキストで他のメソッドを呼び出すことはできません。結果は未定義の動作になります。
NamingException
- ネーミング例外が発生した場合String getNameInNamespace() throws NamingException
多くのネーミング・サービスには、各名前空間のオブジェクトに対する「完全な名前」の概念があります。たとえば、LDAPエントリには識別名があり、DNSレコードには完全指定名があります。このメソッドによって、クライアント・アプリケーションでこの名前を取得できます。このメソッドで返される文字列は、JNDI合成名ではなく、コンテキスト・メソッドに直接渡すことはできません。フル・ネームの概念が意味を持たないネーミング・システムでは、OperationNotSupportedExceptionがスローされます。
OperationNotSupportedException
- ネーミング・システムにフル・ネームの概念がない場合NamingException
- ネーミング例外が発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.