広告

Java : 公式ドキュメントのリンク集 (Java SE 23)

Java公式のドキュメント、API仕様、ユーザーガイドなどのリンク集です。
できるだけ日本語のものを集めていく予定です。

注意

  • ここでいう公式とはOracleのサイトで公開されているものとしています。
  • JDKには、OpenJDKやOracle JDKなどいくつか種類があります。
    基本的にはOpenJDKとして読んでも問題ないドキュメントなのですが、中には明確にOracle JDKを対象としているものもあります。(具体的にはJDKのダウンロードやインストール・ガイドはOracle JDKが対象となっています)
    そのあたりを留意しつつドキュメントはご参照ください。

Java SE ドキュメント

Java SE 日本語ドキュメント

各バージョンのドキュメントへのリンクがあります。
また、オフライン用のドキュメントもあります。

特にJava API仕様は何度も参照すると思うので、オフライン版をダウロードしてしまうのがおすすめです。

Java言語仕様

Java SE 23 言語仕様(英語版)

if文やfor文、Classや配列、intの範囲は-2147483648~2147483647といったJavaのもっとも基本となる言語仕様です。
残念ながら公式の日本語版はなさそう?

以下、各バージョンでの変更点です。(プレビュー機能は除いています)

変更点(Java SE 22)

Java言語の変更

変更点(Java SE 21)

Java言語の変更

変更点(Java SE 17)

Java言語の変更

変更点(Java SE 16)

Java言語の変更

変更点(Java SE 15)

Java言語の変更

変更点(Java SE 14)

Java言語の変更

変更点(Java SE 11)

Java言語の変更


JDK ドキュメント

JDK 23ドキュメント

JDKの各種ドキュメントのリンクがあります。
ただし、いくつかのリンク先は英語版となっています。

Java SE & JDK API仕様

Java SE 23 & JDK 23 API仕様

Stringクラスや、System.out.printlnなど、APIの仕様です。
開発中に一番お世話になるのかなと思います。

Collections Framework

ListやSet、MapといったCollections Frameworkの目次です。

システム・プロパティ一覧

file.encoding や user.dir といったシステムプロパティの一覧です。
それぞれのプロパティの詳細は、ページ右側の参照のリンク先に説明があります。

Javaコア・ライブラリ

Javaコア・ライブラリ(Java SE 23)

シリアライズ・フィルタリング

シリアライズ・フィルタリング(Java SE 23)

デシリアライズは使いかたによっては脆弱性があります。
対処方法が紹介されているので、もしデシリアライズを使っている場合は熟読することをおすすめします。

非推奨の拡張

非推奨の拡張(Java SE 23)

@Deprecatedの使いかたです。

XMLカタログAPI

XMLカタログAPI(Java SE 23)

Java Collections Framework

Java Collections Framework(Java SE 23)

  • List.of, Set.of, Map.of といった、変更不可能なリスト、セット、マップを作れる便利な API
  • 順序付きコレクション、セット、マップ

などの解説があります。

プロセスAPI

プロセスAPI(Java SE 23)

Javaから外部プログラムファイル(例えばWindowsのメモ帳など)を実行するためのドキュメント。
プロセスに関連するProcessBuilderやProcessクラスなどが紹介されています。

Preferences API

Preferences API(Java SE 23)

Javaロギング

Javaロギングの概要(Java SE 23)

Java標準のAPIでもログ出力は可能です。
基本的な機能はそろっているので、これで十分なことも多いです。

Java NIO

Java NIO(Java SE 23)

Javaネットワーク

Javaネットワーク(Java SE 23)

ネットワーク関連のシステムプロパティの解説があります。

擬似乱数ジェネレータ

擬似乱数ジェネレータ (Java SE 23)

従来の java.util.Random クラスは、乱数の周期が 248 と短めです。
もし、もっと周期の長い乱数が必要であれば、上記の新しい擬似乱数ジェネレータを使うことも検討してみましょう。

外部関数およびメモリーAPI

外部関数およびメモリーAPI (Java SE 23)

Foreign Function and Memory (FFM) API です。
従来の JNI に替わる API ですね。

JNI の 脆弱性や危険性を伴わずにネイティブコードを呼び出すことができます。

並行処理

並行処理 (Java SE 23)

Java 21 から追加された仮想スレッドの解説があります。


JDKツール仕様

JDKツール仕様(Java SE 23)

java や javac、jlink などのツールのページです。

JavaDoc

JavaDocガイド(Java SE 23)

JavaDocガイドですが、リンク先が英語のページになっているところが多いです。
必要に応じて、下記の日本語ページもご参照ください。

javadocコマンド(Java SE 23)

javadocツールの使い方です。

標準ドックレット(JDK 23)のドキュメンテーション・コメント仕様

こちらは Javadoc のコメントの書き方の仕様です。

Javadoc検索仕様(JDK 23)

JShellユーザーズ・ガイド

JShellユーザーズ・ガイド(Java SE 23)

JShellを使うと、まるでスクリプト言語のように、対話的にJavaのコードを実行できます。(コンパイルも不要)
Read-Eval-Print Loop (REPL) ですね。

ちょっとしたことを確認したい場合に便利かも。

パッケージ・ツール・ユーザー・ガイド

パッケージ・ツール・ユーザー・ガイド(Java SE 23)

いわゆるインストーラを作るツールのドキュメントです。

データベース(JDBC)

JDBC API 入門

だいぶ古い情報なのでご注意ください。
とはいえ、貴重な JDBC API の日本語資料です。

Oracle Database JDBC開発者ガイド

Oracle Database に特化したガイドです。
JDBC の解説としても参考になるかと思います。

こちらも、少し古い情報かもしれないのでご注意ください。

XML

XMLデジタル署名APIの概要とチュートリアル (Java SE 23)

Java API for XML Processing (JAXP)セキュリティ・ガイド (Java SE 23)

XMLカタログAPI(Java SE 23)

WebLogic XML プログラマーズ ガイド

WebLogicのドキュメントですが、JavaのXMLについて参考になるものがいくつかあります。
※少し古いドキュメントかもしれませんのでご注意ください。


国際化ガイド

国際化ガイド(Java SE 23)

1つのアプリで日本語と英語など、多言語に対応する場合は参考になります。

Javaオブジェクト直列化仕様

Javaオブジェクト直列化仕様(Java SE 23)

シリアライズとデシリアライズについてのドキュメントです。
下記のコア・ライブラリのドキュメントも読むことをおすすめします。

コアライブラリ:シリアライズ・フィルタリング(Java SE 23)

デシリアライズの脆弱性の対処方法が紹介されています。

JARファイルの仕様

JARファイルの仕様(Java SE 23)

JARファイルは、コンパイルされた複数のclassファイルやリソースファイルを1つのファイルにまとめたものです。
META-INFディレクトリの説明もあります。

Java Native Interface仕様

Java Native Interface仕様の目次(Java SE 23)

Javaだとパフォーマンスが足りないところがあるので、C++でネイティブなコードを実行したい!
そんなときに必要となるのが JNI です。

Java 22 では、JNI に替わる Foreign Function and Memory (FFM) API が追加されました。

Java Remote Method Invocation (Java RMI)

ガベージ・コレクション・チューニング・ガイド

HotSpot Virtual Machineガベージ・コレクション・チューニング・ガイド(Java SE 23)

Javaではいくつかのガベージ・コレクタ(GC)が用意されています。
(シリアル・コレクタ、パラレル・コレクタ、G1、ZGC)

もし必要であれば、任意のGCを選択することができます。

Javaアクセシビリティ

Javaアクセシビリティ・ガイド(Java SE 23)

トラブルシューティング(デバッグ)

トラブルシューティング・ガイド(Java SE 23)

メモリリークやパフォーマンス問題が発生したときに、どうやって解決していくのか?を解説しています。
問題解決のためのツール類(フライト・レコーダなど)も紹介されています。

Java Flight Recorder

フライト・レコーダ(トラブルシューティング)

トラブルシューティングの診断ツールの1つとして紹介されています。

Flight Recorder APIプログラマーズ・ガイド(Java SE 23)

オラクル・コンサルが語る!Java Flight Recorder活用のワザ

少し古いドキュメントですが、日本語で参考になるかと。

Java Debug Wire Protocol

Java Debug Wire Protocol(Java SE 23)

JVMTM Tool Interface

JVMTM Tool Interface(Java SE 23)

Java仮想マシン

Java仮想マシン・ガイド(Java SE 23)


セキュリティ開発者ガイド

セキュリティ開発者ガイド(Java SE 23)

Java SEプラットフォームのセキュリティ・アーキテクチャ

Java SEプラットフォームのセキュリティ・アーキテクチャ (Java SE 23)

アクセス権やセキュリティ・ポリシーなど、Javaの主要なセキュリティ機能について解説しています。

Java API for XML Processing (JAXP)セキュリティ・ガイド

Java API for XML Processing (JAXP)セキュリティ・ガイド (Java SE 23)

XML処理中の潜在的な攻撃である

  • XML外部エンティティ(XXE)インジェクション攻撃
  • 指数関数的エンティティ展開攻撃

について解説しています。

また、それらの攻撃を回避するためのXMLConstants.FEATURE_SECURE_PROCESSINGやプロパティについても詳しく説明されています。
外部からの信頼されていないXMLを読み込む場合は、上記のページを熟読することをおすすめします。

Java暗号化アーキテクチャ

Java暗号化アーキテクチャ(JCA)リファレンス・ガイド(Java SE 23)

暗号化やハッシュ化を扱うときは上記のページを熟読しましょう。
暗号化のコーディングは、一見うまく動いているように見えても、セキュリティ的に実は弱かったということがありえるので注意です。

Javaセキュリティ標準アルゴリズム名

Javaセキュリティ標準アルゴリズム名(Java SE 23)

アルゴリズムを選択するさいは慎重に。
すでに安全ではないとされているアルゴリズムもあります。(DESなど)

Java チュートリアル

ファイルI/O(NIO.2を含む)

ファイルI/O(NIO.2を含む)

File に代わる Path や Files のことが解説されています。
ただし少し情報が古いかもしれないのでご注意ください。


関連記事

ページの先頭へ