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

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

注意

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

Java SE ドキュメント

Java SE 日本語ドキュメント

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

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

Java言語仕様

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

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

変更点(Java SE 17)

Java言語の変更

変更点(Java SE 16)

Java言語の変更

変更点(Java SE 15)

Java言語の変更

変更点(Java SE 14)

Java言語の変更

変更点(Java SE 11)

Java言語の変更

JDK ドキュメント

JDK 18ドキュメント

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

Java SE & JDK API仕様

Java SE 18 & JDK 18 API仕様

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

Collections Framework

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

Java Remote Method Invocation (Java RMI)

Javaコア・ライブラリ

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

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

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

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

非推奨の拡張

非推奨の拡張(Java SE 18)

@Deprecatedの使いかたです。

XMLカタログAPI

XMLカタログAPI(Java SE 18)

変更不可能なリスト、セットおよびマップの作成

変更不可能なリスト、セットおよびマップの作成(Java SE 18)

List.of, Set.of, Map.ofといった、変更不可能なリスト、セット、マップを作れる便利なAPIが紹介されています。

プロセスAPI

プロセスAPI(Java SE 18)

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

Preferences API

Preferences API(Java SE 18)

Javaロギング

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

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

Java NIO

Java NIO(Java SE 18)

Javaネットワーク

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

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

擬似乱数ジェネレータ

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

JDKツール仕様

JDKツール仕様(Java SE 18)

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

Javadoc

JavaDocガイド(Java SE 18)

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

javadocコマンド(Java SE 18)

javadocツールの使い方です。

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

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

Javadoc検索仕様(JDK 18)

XML

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

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

XMLカタログAPI(Java SE 18)

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

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

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

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

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

国際化ガイド

国際化ガイド(Java SE 18)

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

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

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

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

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

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

JARファイルの仕様

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

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

Java Native Interface仕様

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

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

とはいえ、最終手段にしたほうがよいと思います。

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

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

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

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

Javaアクセシビリティ・ガイド

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

トラブルシューティング・ガイド

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

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

Java仮想マシン・ガイド

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

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

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

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

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

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

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

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

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

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

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

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

Java暗号化アーキテクチャ

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

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

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

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

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

Java チュートリアル

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

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

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

JShellユーザーズ・ガイド

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

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

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

Java Debug Wire Protocol

Java Debug Wire Protocol(Java SE 18)

JVMTM Tool Interface

JVMTM Tool Interface(Java SE 18)

Java Flight Recorder

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

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

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

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

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


関連記事

ページの先頭へ