Java Platform, Standard Edition ( Java SE ) は、デスクトップおよびサーバー環境向けの移植可能なコードの開発と展開のためのコンピューティングプラットフォームです。 [1] Java SE は、以前はJava 2 Platform, Standard Edition ( J2SE ) として知られていました。
このプラットフォームはJavaプログラミング言語を使用し、 Javaソフトウェアプラットフォームファミリーの一部です。Java SEは、 Javaクラスライブラリ用のJava APIなど、さまざまな汎用APIを定義しており、 Java言語仕様とJava仮想マシン仕様も含まれています。[2] OpenJDKはバージョン7以降、公式リファレンス実装となっています。 [3] [4] [5]
命名法、規格、仕様
このプラットフォームはバージョン 1.2 からJava 2 Platform, Standard EditionまたはJ2SEと呼ばれていましたが、バージョン 1.5 で名前がJava Platform, Standard EditionまたはJava SEに変更されました。「SE」は、ベース プラットフォームを Enterprise Edition ( Java EE ) および Micro Edition ( Java ME ) プラットフォームと区別するために使用されます。「2」は、もともとバージョン 1.2 で導入された主要な変更点を強調することを意図していましたが、バージョン 1.6 で削除されました。命名規則は、 Java のバージョン履歴で何度か変更されています。J2SE 1.4 (Merlin) 以降、Java SE はJava Community Processの下で開発されており、Java Community Process はJava Specific Requests (JSR)と呼ばれる Java プラットフォームの提案仕様と最終仕様の説明を作成しています。[6] JSR 59 は J2SE 1.4 の包括的な仕様であり、JSR 176 は J2SE 5.0 (Tiger) を規定しました。Java SE 6 (Mustang) は JSR 270 の下でリリースされました。
Java Platform, Enterprise Edition (Java EE) は、Java SE のすべてのクラスに加えて、ワークステーションではなくサーバー上で実行されるプログラムに役立ついくつかのクラスを含む関連仕様です。
Java Platform, Micro Edition (Java ME) は、携帯電話、PDA、セットトップ ボックスなどの小型でリソースが制限されたデバイス向けのソフトウェア開発用の認定 Java API コレクションを提供することを目的とした関連仕様です。
Java Runtime Environment (JRE)とJava Development Kit (JDK)は、それぞれ Java プログラムを実行または開発するためにコンピューターにダウンロードされインストールされる実際のファイルです。
汎用パッケージ
java.lang
Javaパッケージ には、言語とランタイムjava.langシステムに密接に結びついた基本的なクラスとインターフェイスが含まれています。これには、クラス階層を形成するルート クラス、言語定義に結びついた型、基本的な例外、数学関数、スレッド、セキュリティ関数、および基礎となるネイティブ システムに関する情報が含まれます。このパッケージには、JDK 6 で提供される 32 個のクラスのうち 22 個が含まれています。
Error
の主なクラスとインターフェースは次のjava.langとおりです。
Object– すべてのクラス階層のルートとなるクラス。Enum–列挙クラスの基本クラス(J2SE 5.0 以降)。Class– Javaリフレクションシステムのルートとなるクラス。Throwable– 例外クラス階層の基本クラスとなるクラス。Error、、ExceptionおよびRuntimeException– 各例外タイプの基本クラス。Thread– スレッド上での操作を可能にするクラス。String–文字列と文字列リテラルのクラス。StringBufferおよび–文字列操作StringBuilderを実行するためのクラス( J2SE 5.0 以降)。StringBuilderComparable– オブジェクトの一般的な比較と順序付けを可能にするインタフェース (J2SE 1.2 以降)。Iterable–拡張forループを使用した汎用的な反復処理を可能にするインタフェース(J2SE 5.0 以降)。ClassLoader、、、、および– クラスの動的ロード、外部プロセスの作成、時刻などのホスト環境の照会、およびセキュリティ ポリシーの適用Processを管理する「システム操作」を提供するクラス。RuntimeSecurityManagerSystemMathおよび–正弦、余弦、平方根StrictMathなどの基本的な数学関数を提供するクラス( J2SE 1.3 時点)。StrictMath- プリミティブ型をオブジェクトとしてカプセル化するプリミティブ ラッパークラス。
- 言語レベルおよびその他の一般的な例外に対してスローされる基本的な例外クラス。
のクラスはすべてのソース ファイルjava.langに自動的にインポートされます。
java.lang.ref
このjava.lang.refパッケージは、他の方法で利用できるものよりも柔軟なタイプの参照を提供し、アプリケーションとJava 仮想マシン(JVM)ガベージ コレクター間の限定された相互作用を許可します。これは重要なパッケージであり、言語設計者が「java.lang」で始まる名前を付けるほど言語の中心となるものですが、特殊な目的のため、多くの開発者によって使用されていません。このパッケージは J2SE 1.2 で追加されました。
Java には表現力豊かな参照システムがあり、ガベージ コレクションの特別な動作が可能です。Java の通常の参照は「強い参照」と呼ばれます。パッケージでは、ソフト参照、弱い参照java.lang.ref、ファントム参照という 3 種類の参照が定義されています。各参照タイプは、特定の用途向けに設計されています。
- は、キャッシュを
SoftReference実装するために使用できます。強い参照では到達できない (つまり、強く到達できない) オブジェクトが、ソフト参照によって参照される場合は、「ソフトに到達可能」と呼ばれます。ソフトに到達可能なオブジェクトは、ガベージ コレクターの判断によりガベージ コレクションされることがあります。これは通常、ソフトに到達可能なオブジェクトは空きメモリが少ない場合にのみガベージ コレクションされることを意味しますが、これもガベージ コレクターの判断によります。意味的には、ソフト参照は、「メモリが必要でない限り、他に参照するものがない場合は、このオブジェクトを保持する」ことを意味します。 - は、
WeakReference弱いマップを実装するために使用されます。強くまたは弱く到達可能ではないが、弱い参照によって参照されるオブジェクトは、「弱く到達可能」と呼ばれます。弱く到達可能なオブジェクトは、次のコレクション サイクルでガベージ コレクションされます。この動作は、クラスで使用されますjava.util.WeakHashMap。弱いマップを使用すると、プログラマーはキーと値のペアをマップに配置し、キーが他のどこからも到達できなくなったときにオブジェクトがメモリを占有することを心配する必要がなくなります。弱参照のもう 1 つの可能な用途は、文字列インターン プールです。意味的には、弱参照は「次のガベージ コレクションで他に何も参照されていない場合は、このオブジェクトを削除する」ことを意味します。 - は、
PhantomReferenceガベージ コレクションの対象としてマークされ、ファイナライズされているが、まだ回収されていないオブジェクトを参照するために使用されます。強く、ソフトに、または弱く到達可能ではないが、ファントム参照によって参照されているオブジェクトは、「ファントム到達可能」と呼ばれます。これにより、ファイナライズ メカニズムのみを使用する場合よりも柔軟なクリーンアップが可能になります。意味的には、ファントム参照は「このオブジェクトは不要になり、収集の準備のためにファイナライズされている」ことを意味します。
これらの各参照型はReferenceクラスを拡張し、参照先オブジェクトへの強い参照を返すget() メソッドnull(または参照がクリアされているか参照型がファントムである場合) とclear()参照をクリアするメソッドを提供します。
はjava.lang.refクラス も定義します。このクラスReferenceQueueは、上で説明した各アプリケーションで使用して、参照タイプが変更されたオブジェクトを追跡できます。 がReference作成されると、オプションで参照キューに登録されます。アプリケーションは参照キューをポーリングして、到達可能性の状態が変更された参照を取得します。
java.lang.reflect
リフレクションは、Java コードが実行時に Java コンポーネントを検査して「リフレクト」し、リフレクトされたメンバーを使用できるようにするJava APIの構成要素です。パッケージ内のクラスは、およびjava.lang.reflectとともに、デバッガ、インタープリタ、オブジェクトインスペクタ、クラス ブラウザなどのアプリケーション、およびオブジェクトシリアル化やJavaBeansなどのサービスに対応します。これらのサービスは、ターゲット オブジェクトのパブリック メンバー (その実行時クラスに基づく) または特定のクラスによって宣言されたメンバーのいずれかにアクセスする必要があります。このパッケージは、JDK 1.1 で追加されました。
java.lang.Classjava.lang.Package
リフレクションは、クラスをインスタンス化し、その名前を使用してメソッドを呼び出すために使用されます。これは、動的プログラミングを可能にする概念です。クラス、インターフェース、メソッド、フィールド、およびコンストラクターはすべて、実行時に検出および使用できます。リフレクションは、JVM がプログラムに関して保持する メタデータによってサポートされます。
テクニック
リフレクションには、次のような基本的なテクニックが含まれます。
- 検出 – オブジェクトまたはクラスを取得し、メンバー、スーパークラス、実装されたインターフェースを検出し、検出された要素を使用することがあります。
- 名前による使用 - 要素のシンボリック名から始めて、名前付き要素を使用します。
発見
検出は通常、オブジェクトから始まり、Object.getClass()メソッドを呼び出してオブジェクトの を取得しますClass。Classオブジェクトには、クラスのコンテンツを検出するためのメソッドがいくつかあります。次に例を示します。
getMethods()Method–クラスまたはインターフェースのすべてのパブリックメソッドを表すオブジェクトの配列を返しますgetConstructors()Constructor–クラスのすべてのパブリックコンストラクタを表すオブジェクトの配列を返しますgetFields()Field–クラスまたはインターフェースのすべてのパブリックフィールドを表すオブジェクトの配列を返しますgetClasses()–クラスまたはインターフェースのメンバー(内部クラスClassなど)であるすべてのパブリッククラスとインターフェースを表すオブジェクトの配列を返します。getSuperclass()–Classクラスまたはインターフェースのスーパークラスを表すオブジェクトを返します(nullインターフェースの場合は が返されます)getInterfaces()Class–クラスまたはインターフェースによって実装されているすべてのインターフェースを表すオブジェクトの配列を返します
名前で使う
オブジェクトは、検出、クラス リテラルの使用(例)、またはクラスの名前の使用 (例)Classによって取得できます。オブジェクトの場合、メンバー、、またはオブジェクトは、メンバーのシンボリック名を使用して取得できます。例:
MyClass.classClass.forName("mypackage.MyClass")ClassMethodConstructorField
getMethod("methodName", Class...)–パラメータMethodで指定されたパラメータを受け入れるクラスまたはインターフェースの「methodName」という名前のパブリック メソッドを表すオブジェクトを返しますClass...。getConstructor(Class...)–パラメータConstructorで指定されたパラメータを受け入れるクラスのパブリック コンストラクターを表すオブジェクトを返しますClass...。getField("fieldName")–Fieldクラスまたはインターフェースの「fieldName」という名前のパブリック フィールドを表すオブジェクトを返します。
Method、、ConstructorおよびFieldオブジェクトを使用して、クラスの表現されたメンバーに動的にアクセスできます。例:
Field.get(Object)–Objectに渡されたオブジェクトのインスタンスのフィールドの値を含む を返しますget()。(Fieldオブジェクトが静的フィールドを表す場合、Objectパラメータは無視され、 になることがありますnull。)Method.invoke(Object, Object...)–に渡された最初のパラメータObjectのインスタンスのメソッドを呼び出した結果を含む を返します。残りのパラメータは メソッドに渡されます。(オブジェクトが静的メソッドを表す場合、最初のパラメータは無視され、 になることがあります。)Objectinvoke()Object...MethodObjectnullConstructor.newInstance(Object...)Object–コンストラクターを呼び出して新しいインスタンスを返します。Object...パラメーターはコンストラクターに渡されます。(クラスのパラメーターなしのコンストラクターは、 を呼び出すことによっても呼び出すことができることに注意してくださいnewInstance()。)
配列とプロキシ
このjava.lang.reflectパッケージには、Array配列オブジェクトを作成および操作するための静的メソッドを含むクラスも提供され、J2SE 1.3 以降では、Proxy指定されたインタフェースを実装するプロキシ クラスの動的な作成をサポートするクラスも提供されます。
クラスの実装は、インターフェイスProxyを実装する提供されたオブジェクトによって提供されますInvocationHandler。InvocationHandlerのinvoke(Object, Method, Object[])メソッドは、プロキシ オブジェクトで呼び出される各メソッドに対して呼び出されます。最初のパラメーターはプロキシ オブジェクト、2 番目のパラメーターはMethodプロキシによって実装されたインターフェイスのメソッドを表すオブジェクト、3 番目のパラメーターはインターフェイス メソッドに渡されるパラメーターの配列です。 メソッドは、プロキシ インターフェイス メソッドを呼び出したコードに返される結果を含む結果
invoke()を返します。Object
java.io
パッケージには、入力と出力をjava.ioサポートするクラスが含まれています。パッケージ内のクラスは主にストリーム指向ですが、ランダム アクセスファイル用のクラスも提供されています。パッケージの中心となるクラスは、バイト ストリームの読み取りと書き込みを行うための抽象基本クラスであるとです。関連クラスである と は、文字ストリームの読み取りと書き込みを行うための抽象基本クラスです。パッケージには、ホストファイル システムとのやり取りをサポートするその他のクラスもいくつか含まれています。
InputStreamOutputStreamReaderWriter
ストリーム
ストリーム クラスは、基本サブクラスを拡張してストリーム クラスに機能を追加することで、 デコレータ パターンに従います。基本ストリーム クラスのサブクラスは、通常、次のいずれかの属性に基づいて名前が付けられます。
- ストリームデータの送信元/送信先
- ストリームに書き込まれる/ストリームから読み取られるデータのタイプ
- ストリームデータに対して実行される追加の処理またはフィルタリング
ストリーム サブクラスは、命名パターンを XxxStreamType使用して命名されます。ここでXxx、 は機能を説明する名前であり、、、 、 のStreamTypeいずれかです。
InputStreamOutputStreamReaderWriter
次の表は、パッケージによって直接サポートされるソース/宛先を示していますjava.io。
その他の標準ライブラリ パッケージは、メソッドまたは Java EEクラスInputStreamによって返されるものなど、他の宛先のストリーム実装を提供します。
java.net.Socket.getInputStream()javax.servlet.ServletOutputStream
ストリーム データのデータ型の処理と処理またはフィルタリングは、ストリームフィルタによって行われます。フィルタ クラスはすべて、コンストラクターへのパラメーターとして別の互換性のあるストリーム オブジェクトを受け入れ、囲まれたストリームを追加機能で装飾します。フィルタは、基本フィルタ クラス、、、またはのいずれかを拡張することによって作成さFilterInputStreamれます。
FilterOutputStreamFilterReaderFilterWriter
クラスReaderとWriterクラスは、実際にはバイト ストリームであり、データ ストリームに対してバイトを文字に変換するための追加処理が実行されます。これらのクラスは、プラットフォームのデフォルトの文字エンコーディングを使用します。これは、J2SE 5.0 以降、静的メソッドCharsetによって返されるで表されます。 クラスはを に変換し、クラスはを に変換します。これらのクラスは両方とも、使用する文字エンコーディングの指定をサポートするコンストラクタを持っています。エンコーディングが指定されていない場合、プログラムはプラットフォームのデフォルトのエンコーディングを使用します。
java.nio.charset.Charset.defaultCharset()InputStreamReaderInputStreamReaderOutputStreamWriterOutputStreamWriter
次の表は、パッケージが直接サポートするその他のプロセスとフィルターを示していますjava.io。これらのクラスはすべて、対応するFilterクラスを拡張します。
ランダムアクセス
このクラスは、ファイルのランダム アクセスRandomAccessFile読み取りおよび書き込みをサポートします。このクラスは、次の読み取りまたは書き込み操作のために、ファイル内のバイト オフセットを表すファイルポインターを使用します。ファイル ポインターは、読み取りまたは書き込みによって暗黙的に移動され、またはメソッドの呼び出しによって明示的に移動されます。ファイル ポインターの現在の位置は、メソッドによって返されます。
seek(long)skipBytes(int)getFilePointer()
ファイルシステム
クラスは、ファイル システム内のファイルまたはディレクトリパスFileを表します。 オブジェクトは、ファイルとディレクトリの作成、削除、名前変更、および読み取り専用や最終変更タイムスタンプなどのファイル属性の操作をサポートします。 ディレクトリを表すオブジェクトを使用して、含まれるすべてのファイルとディレクトリのリストを取得できます。
FileFile
クラスは、バイトのソースまたはシンク (宛先) を表すファイル記述子FileDescriptorです。通常、これはファイルですが、コンソールまたはネットワーク ソケットの場合もあります。 オブジェクトはストリームの作成に使用されます。これらは、ストリーム、ソケット、およびデータグラム ソケット
から取得されます。FileDescriptorFileFilejava.net
java.nio
J2SE 1.4 では、メモリマップ I/Oをサポートするためにパッケージjava.nio(NIO または非ブロッキング I/O) が追加され、基盤となるハードウェアに近いI/O操作が可能になり、パフォーマンスが大幅に向上することがあります。このパッケージは、多数のバッファ タイプをサポートしています。サブパッケージは、文字データのさまざまな文字エンコーディングをサポートしています。サブパッケージは、ファイルやソケットなど、I/O 操作を実行できるエンティティへの接続を表すチャネルをサポートしています。また、このパッケージは、ファイルのきめ細かいロックもサポートしています。
java.niojava.nio.charsetjava.nio.channelsjava.nio.channels
java.math
このjava.mathパッケージは、多倍精度演算(モジュラー演算を含む) をサポートし、暗号キー生成に使用される多倍精度素数ジェネレータを提供します。パッケージの主なクラスは次のとおりです。
BigDecimal– 任意精度の符号付き 10 進数を提供します。BigDecimalを通じて丸め動作をユーザーが制御できるようにしますRoundingMode。BigInteger– 任意精度の整数を提供します。 の操作ではオーバーフローしBigIntegerたり精度が失われたりすることはありません。 標準的な算術演算に加えて、モジュラー算術、GCD計算、素数判定、素数生成、ビット操作、およびその他のさまざまな操作を提供します。MathContext– 数値演算子の特定のルールを記述するコンテキスト設定をカプセル化します。RoundingMode– 8 つの丸め動作を提供する列挙体。
java.net
このjava.netパッケージは、ネットワーク用の特別な IO ルーチンを提供し、HTTPリクエストやその他の一般的なトランザクションを可能にします。
java.text
このjava.textパッケージは、文字列の解析ルーチンを実装し、さまざまな人間が読める言語とロケール固有の解析をサポートします。
java.util
オブジェクトを集約するデータ構造がパッケージの焦点ですjava.util。パッケージには、デザイン パターンの考慮事項に大きく影響される整理されたデータ構造階層であるCollections APIが含まれています。
特殊用途パッケージ
java.applet
Java アプレットの作成をサポートするために作成されたjava.appletこのパッケージを使用すると、アプリケーションをネットワーク経由でダウンロードし、保護されたサンドボックス内で実行できます。サンドボックスには簡単にセキュリティ制限を課すことができます。たとえば、開発者はアプレットにデジタル署名を適用して、アプレットを安全であるとラベル付けできます。これにより、ユーザーはアプレットに制限された操作 (ローカル ハード ドライブへのアクセスなど) を実行する権限を与え、サンドボックスの制限の一部またはすべてを解除できます。デジタル証明書は、証明機関によって発行されます。
java.beans
パッケージには、 JavaBeans アーキテクチャjava.beansによって定義された再利用可能なコンポーネントである Bean を開発および操作するためのさまざまなクラスが含まれています。アーキテクチャは、コンポーネントのプロパティを操作し、それらのプロパティが変更されたときにイベントを発生させるメカニズムを提供します。
の API は、java.beansBean を結合、カスタマイズ、および操作できる Bean 編集ツールで使用することを目的としています。Bean エディターの 1 つのタイプは、統合開発環境のGUIデザイナーです。
java.awt
、または抽象ウィンドウ ツールキットは、基盤となるネイティブ プラットフォームのウィジェット セットに基づくGUIjava.awtウィジェットの基本セット、GUI イベント サブシステムの中核、およびネイティブ ウィンドウ システムと Java アプリケーション間のインターフェイスへのアクセスを提供します。また、いくつかの基本的なレイアウト マネージャ、クリップボードやドラッグ アンド ドロップで使用するデータ転送パッケージ、マウスやキーボードなどの入力デバイスへのインターフェイス、およびサポート システムのシステム トレイへのアクセスも提供します。このパッケージには、とともに、JDK 6 で最も多くの列挙型 (合計 7 つ) が含まれています。
javax.swing
java.rmi
このjava.rmiパッケージは、異なるJVMで実行されている 2 つの Java アプリケーション間のリモート プロシージャ コールをサポートするためのJava リモート メソッド呼び出しを提供します。
java.security
メッセージ ダイジェスト アルゴリズムを含むセキュリティのサポートがjava.securityパッケージに含まれています。
java.sql
JDBC API ( SQL データベースへのアクセスに使用)の実装がパッケージにグループ化されていますjava.sql。
javax.rmi
このjavax.rmiパッケージは、RMI over IIOP プロトコルを使用したアプリケーション間のリモート通信のサポートを提供します。このプロトコルは、RMI と CORBA の機能を組み合わせたものです。
Java SEコアテクノロジー - CORBA / RMI-IIOP
javax.swing
Swing はjava.awt、プラットフォームに依存しないウィジェット ツールキットを提供するために構築されたルーチンのコレクションです。基盤となるネイティブオペレーティング システムのjavax.swingGUI サポートに依存するのではなく、2D 描画ルーチンを使用してユーザー インターフェイス コンポーネントをレンダリングします。
このパッケージには、JDK 6 で最大数のクラス (合計 133) が含まれています。また、このパッケージには、java.awtJDK 6 で最大数の列挙型 (合計 7) も含まれています。このパッケージは、プラグ可能なルック アンド フィール (PLAF) をサポートしているため、GUI のウィジェットは、基盤となるネイティブ システムのウィジェットを模倣できます。デザイン パターン、特にモデル ビュー コントローラパターンの修正は、機能と外観の結合を緩めるため、システムに浸透しています。1 つの矛盾点は、(J2SE 1.3 の時点では) フォントが基盤となるネイティブ システムによって描画され、Java によって描画されないため、テキストの移植性が制限されることです。ビットマップ フォントを使用するなどの回避策は存在します。一般に、「レイアウト」が使用され、プラットフォーム間で見た目が一貫した GUI 内の要素が保持されます。
javax.swing.text.html.パーサー
このjavax.swing.text.html.parserパッケージは、さまざまな Web ブラウザーや Web ボットの作成に使用される、エラー耐性のある HTML パーサーを提供します。
javax.xml.bind.アノテーション
このjavax.xml.bind.annotationパッケージには、JDK 6 で最も多くの注釈タイプ (合計 30 個) が含まれています。これは、Java プログラム要素を XML スキーマ マッピングにカスタマイズするための注釈を定義します。
OMG パッケージ
org.omg.CORBA
このパッケージは、 General Inter-ORB Protocolorg.omg.CORBAを使用するアプリケーション間のリモート通信のサポートを提供し、共通オブジェクト リクエスト ブローカー アーキテクチャの他の機能をサポートします。RMIおよびRMI -IIOPと同様に、このパッケージは他の仮想マシン上のオブジェクトのリモート メソッドを呼び出すためのものです (通常はネットワーク経由)。
このパッケージには、JDK 6 で最も多くのExceptionクラス (合計 45 個) が含まれていました。あらゆる通信の可能性において、CORBA はさまざまな言語間で移植可能ですが、複雑さが増します。
これらのパッケージはJava 9では非推奨となり、Java 11では削除されました。[7]
org.omg.PortableInterceptor
このorg.omg.PortableInterceptorパッケージには、JDK 6 で最も多くのインターフェース (合計 39 個) が含まれています。これは、ORB サービスが ORB の通常の実行フローをインターセプトするための ORB フックを登録するメカニズムを提供します。
安全
いくつかの重大なセキュリティ脆弱性が報告されています。[8] [9] Oracleからのセキュリティアラートでは、Java SEに対する重要なセキュリティ関連パッチが発表されています。[10]
参考文献
- ^ 「Java SE の概要」。Oracle Corporation。2017年2 月 26 日閲覧。
- ^ 「Java SE 6 リリース コンテンツ」。Oracle Corporationおよびその関連会社。2013年1 月 1 日閲覧。
- ^ Java SE 7の公式リファレンス実装としてOpenJDKに移行
- ^ Java プラットフォーム、Standard Edition 7 リファレンス実装
- ^ 「Java Platform, Standard Edition 8 リファレンス実装」。2015年11月21日時点のオリジナルよりアーカイブ。
- ^ 「Java 仕様要求の概要」。Oracle Corporationおよびその関連会社。2013年1 月 1 日閲覧。
- ^ 「JEP 320: Java EE および CORBA モジュールの削除」。Openjdk.java.net。2019 年 5 月 23 日。2022年 3 月 20 日に閲覧。
- ^ 最新の Java バージョンに危険な脆弱性 The H Security、2013 年 1 月 10 日
- ^ Darlene Storm (2012 年 9 月 25 日)。「もう 1 つの重大な Java 脆弱性により 10 億人のユーザーが危険にさらされる」。Computerworld Security Blog。2013年 1 月 13 日時点のオリジナルよりアーカイブ。2013 年1 月 11 日閲覧。
- ^ 「重要なパッチ更新、セキュリティ警告、およびサードパーティの速報」。Oracle。
外部リンク
- Oracle Technology NetworkのJava SE
- Java SE 19 API Javadocs
- Java SE API ドキュメント
- JSR 270 (Java SE 6)
- 1.8
- 1.7
- 1.6
