JDK メーカー オープンソース JDK OpenJDK JDK インストール Java インストール JDK バージョンの違い Java バージョン間の違い Java8 から Java17 への変更点 jdk8 から jdk17 への変更点

JDK メーカー オープンソース JDK OpenJDK JDK インストール Java インストール JDK バージョンの違い Java バージョン間の違い Java8 から Java17 への変更点 jdk8 から jdk17 への変更点

1.JDKメーカー

2. JDKのインストール(例はJDK 8)

公式インストールドキュメント

https://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_jdk_install.html#CHDEBCCJ

2.1. JDK8 インストールパッケージをダウンロードする

ダウンロードアドレス、Oracle公式Webサイト JDKにはログインが必要です

コンピューターのシステムに応じてダウンロードを選択してください
ここに画像の説明を挿入します

アカウントをお持ちでない場合は、ダウンロードした JDK8 インストール パッケージ ( 包含中文文档) 123 ネットワークディスクを使用できます。ネットワーク ディスクをダウンロードするためにログインする必要はありません。
ここに画像の説明を挿入します

jdk インストーラーをダブルクリックしてインストールし、
ここに画像の説明を挿入します
インストールする 3 つのパッケージをすべて選択します。
ここに画像の説明を挿入します

ここに画像の説明を挿入します
次のステップをクリックし続けてください。

2.2. 環境変数の設定

2.2.1. JAVA_HOME 環境変数の設定

環境変数設定を開く > 新しい環境変数 JAV_HOME を作成

変数名:JAVA_HOME
変数値:jdk安装目录; 变量值是自己的jdk安装目录:例如:D:\JDK\jdk1.8.0_161

ここに画像の説明を挿入します

2.2.2. CLASSPATH 環境変数の設定

環境変数設定を開く > 新しい環境変数 CLASSPATH を作成する

変数名:CLASSPATH
変数値:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

ここに画像の説明を挿入します

2.2.3. Path 環境変数の設定

環境変数設定を開き、Pathこの環境変数を見つけて編集します

ここに画像の説明を挿入します

新しい環境変数値を作成します。
変数値:%JAVA_HOME%\bin
ここに画像の説明を挿入します
ここで特に注意してください。win10 環境変数値は、Win11 のように 1 行ずつではなく、行全体です。win10 で追加された変数値には、Path末尾%JAVA_HOME%\bin;に余分な;セミコロンが付いています。

最後にインストールが成功したかどうかをテストします

CMD を開いて実行し、java -versionバージョン番号が表示されればインストールは成功です。
ここに画像の説明を挿入します

3. Java8からJava17への変更点

JDK 8:

主なアップグレード内容:

  • ラムダ式: 関数型プログラミングをサポートします。
  • 関数型インターフェイス: Function、Predicate、Consumer およびその他のインターフェイスの紹介。
  • ストリーム: コレクション データを処理するための機能的なストリーミング操作。
  • 新しい日付と時刻 API: java.time パッケージは、日付と時刻の処理を改善するために導入されました。
  • デフォルトのメソッド: インターフェイスでデフォルトの実装を定義できます。
  • 新しいガベージ コレクター: G1 コレクターなど。
  • Nashorn JavaScript エンジン: Java で JavaScript コードを実行するために使用されます。

削除されたコンテンツ:

  • PermGen および関連するガベージ コレクター: Metaspace に置き換えられました。

JDK9:

主なアップグレード内容:

  • モジュラー システム (ジグソー プロジェクト): モジュール性の概念が導入され、モジュール システムが追加されます。
  • インターフェイスのプライベート メソッド: インターフェイスでプライベート メソッドを定義できるようにします。
  • Javadoc の改善: Javadoc ツールが改善され、ドキュメント生成エクスペリエンスが向上しました。
  • 新しいガベージ コレクター: G1 コレクターなど。

JDK 10:

主なアップグレード内容:

  • ローカル変数の型推論: 型推論のローカル変数の宣言で var キーワードを使用できるようにします。
  • 並列フル ガベージ コレクター: 並列 GC のパフォーマンスが向上しました。
  • アプリケーション クラス データ共有: アプリケーションの起動速度が向上します。

JDK 11:

主なアップグレード内容:

  • HTTP クライアント標準 API: 標準 HTTP クライアント API が導入されました。
  • ローカル変数構文の強化: 型推論のラムダ式で var キーワードを使用できるようになります。
  • ネストされたアクセス制御: いくつかの新しいアクセス制御修飾子が追加されました。
  • ZGC ガベージ コレクター: 低遅延ガベージ コレクターを導入します。

JDK 12:

主なアップグレード内容:

  • Switch式:Switch文の記述方法を強化しました。
  • 新しいガベージ コレクター (Shenandoah コレクター): 低遅延ガベージ コレクターが導入されました。

JDK 13:

主なアップグレード内容:

  • テキスト ブロック: 複数行の文字列を記述する方法を簡素化します。
  • Switch 式の改善: Switch 式の機能がさらに強化されました。
  • ダイナミック CDS (クラス データ共有): アプリケーションの起動速度が向上します。

JDK 14:

主なアップグレード内容:

  • JEP343 (ガベージ コレクター インターフェイス): ガベージ コレクターのインターフェイスを定義します。
  • JEP345 (Prophet): 過去のデータに基づいて将来のデータを予測するために使用されます。
  • JEP359 (レコード タイプ): 不変データ クラスを迅速に定義するための新しいデータ タイプを導入します。

JDK 15:

主なアップグレード内容:

  • 隠しクラス: 動的言語のパフォーマンスを向上させるために使用されます。
  • シールされたクラス: クラスの継承を制限します。
  • GC の Epsilon コレクター: no-op ガベージ コレクター。

JDK 16:

主なアップグレード内容:

  • レコード タイプ (レコード): データ クラスの定義が簡素化されました。
  • パターンマッチング: Switch式のパターンマッチング機能を強化しました。
  • ガベージ コレクター (ZGC、Shenandoah): ガベージ コレクターのパフォーマンスと効率が向上しました。

JDK 17:

主なアップグレード内容:

  • シールド クラス: シールド クラスの柔軟性が強化されました。
  • パターン マッチング: パターン マッチング機能がさらに改善されました。
  • ガベージ コレクター (ZGC、Shenandoah): ガベージ コレクターのパフォーマンスと効率がさらに向上しました。

おすすめ

転載: blog.csdn.net/qq_40739917/article/details/132914519