はじめに Java

⚡ スマートサマリー

はじめに Java このチュートリアルでは、汎用的なクラスベースのオブジェクト指向プログラミング言語であり、コンピューティングプラットフォームとしても機能する言語について説明します。 Javaの歴史、バージョン、機能、コアコンポーネント(JDK、JVM、JRE)、プラットフォームエディション、および を作成するバイトコードメカニズム Java 一度書けばどこでも実行できる、真の言語。

  • コア定義: Java は、汎用的なクラスベースのオブジェクト指向プログラミング言語であり、移植性と信頼性を重視して設計されたランタイムプラットフォームです。
  • 🧩 3つの構成要素: その Java プラットフォームは、開発用のJDK、実行用のJVM、およびランタイムサポート用のJREで構成されます。
  • 📜 歴史のハイライト: 元々は1991年にOAKと呼ばれ、後に改名された。 Java 1995年に買収され、 Oracle 2009年にサン・マイクロシステムズから移籍。
  • 🌐 4つの版: Java SE、 Java EE(現在のジャカルタEE) Java 私と JavaFXは、デスクトップPC、エンタープライズシステム、組み込み機器、およびリッチクライアントを対象としています。
  • 🔁 プラットフォームの独立性: Java ソースコードは、あらゆるJVM上で動作するバイトコードにコンパイルされるため、真の意味での「一度書けばどこでも実行できる」移植性をオペレーティングシステム間で実現できます。

はじめに Java - どうやって Java 仮想マシンワークス

何ですか Java?

Java は、実装依存性を最小限に抑えるように設計された、汎用性の高いクラスベースのオブジェクト指向プログラミング言語です。また、アプリケーション開発のためのコンピューティングプラットフォームでもあります。 Java は高速で安全かつ信頼性が高いため、ラップトップ、データセンター、ゲーム機、科学用スーパーコンピュータ、携帯電話、組み込み機器のソフトウェアを支えています。マルチプラットフォームのネットワーク中心の言語として、 Java 業界で最も広く採用されているプログラミング言語の一つであり、ミッションクリティカルなプロジェクトを構築する際に、ほとんどの組織で好まれています。

何ですか Java プラットホーム?

その Java Platform は、開発者が作成および実行するのに役立つプログラムの集合体です。 Java アプリケーションを効率的に実行します。実行エンジン、コンパイラ、ライブラリのセット、およびそれらの相互運用方法を定義する仕様がバンドルされています。James Gosling が開発しました。 Java サン・マイクロシステムズのプラットフォーム、そして Oracle 同社は2009年のサン・マイクロシステムズ買収を通じてこれを取得した。

このビデオでは、 Java プラットフォーム そしてその理由を説明する Java これはプラットフォームであると同時にプログラミング言語でもある。

詳しくはこちら こちら 動画にアクセスできない場合。

何ですか Java のために使用される?

以下に、最も重要な実世界の応用例をいくつか紹介します。 Java:

  • 開発ping Android アプリ
  • 大企業向けエンタープライズソフトウェアを開発する。
  • 幅広いモバイル機器に電力を供給 Java 分野の様々なアプリケーションで使用されています。
  • 科学計算アプリケーションを実行する。
  • ビッグデータ分析パイプラインを推進する。
  • 組み込みハードウェアデバイスのプログラミング。
  • Apache、JBoss、GlassFish、Tomcatなどのサーバーサイド技術。

その歴史 Java プログラミング言語

ここに、歴史上の重要なランドマークがあります。 Java 言語:

  • その Java この言語は当初OAKと呼ばれていました。
  • 元々は携帯端末やセットトップボックスを扱うために開発されたものだったが、OAKは商業的には失敗に終わった。
  • 1995年、サンは言語名を「Javaそして、急速に成長するワールドワイドウェブを活用するために、事業の方向性を再調整した。
  • 2009年には、 Oracle 当社は Sun Microsystems を買収し、3 つの主要な Sun ソフトウェア資産の所有権を取得しました。 Java, MySQL, Solaris.

Java バージョン

ここに簡単な歴史があります Java バージョンとそのリリース日(最新の長期サポートリリースまで更新済み):

Java 発売日
JDK アルファおよびベータ 1995
JDK1.0 23rd 1月1996
JDK1.1 19 2月1997
J2SE 1.2 8th 12月1998
J2SE 1.3 8 พฤษภาคม 2000
J2SE 1.4 6 2月2002
J2SE 5.0 30 9月2004
Java SE 6 11th 12月2006
Java SE 7 28th July 2011
Java SE 8 (LTS) 18th月2014
Java SE 9 21st 9月2017
Java SE 10 20th月2018
Java SE 11 (LTS) 25 9月2018
Java SE 12 19th月2019
Java SE 13 17 9月2019
Java SE 14 17th月2020
Java SE 15 15 9月2020
Java SE 16 16th月2021
Java SE 17 (LTS) 14 9月2021
Java SE 18 22年2022月XNUMX日
Java SE 19 20 9月2022
Java SE 20 21st月2023
Java SE 21 (LTS) 19 9月2023
Java SE 22 19th月2024
Java SE 23 17 9月2024
Java SE 24 18th月2025
Java SE 25 (LTS) 16 9月2025

Java 特長

最も重要なものをいくつか紹介します Java 30年近くにわたり、その存在意義を保ち続けてきた特徴:

  • これは、最も習得しやすいオブジェクト指向プログラミング言語の一つです。
  • 「一度書けば、どこでも実行できる」――あるマシンでコンパイルされたコードは、ほぼあらゆるコンピューティングプラットフォームで実行できる。
  • Java バイトコード実行モデルを採用しているため、プラットフォームに依存しない。
  • これは、オブジェクト指向アプリケーション向けにゼロから設計されています。
  • これは、自動メモリ管理(ガベージコレクション)を備えたマルチスレッド言語です。
  • これは、インターネットの分散環境向けに開発されたものです。
  • ネットワーク中心の設計であるため、分散コンピューティングを容易にします。

のコンポーネント Java プログラミング言語

A Java プログラマーは人間が読める言語でコードを書きます ソースコードCPU はソースコードを直接理解することはありません。CPU はマシンコードのみを実行し、そのマシンコードは CPU ファミリーごとに異なります。このギャップを埋めるために、 Java プラットフォームはソースコードを移植可能な中間形式に変換します。この処理はすべて、JDK、JVM、JREという3つの主要コンポーネント内で行われます。

Java 開発キット (JDK)

JDKはアプレットや Java アプリケーション。JDKの完全な形式は Java 開発キット。 Java 開発者はこれを Windows, macOS, Solaris、そしてLinux。JDKは、彼らがコードを書いて実行するのに役立ちます。 Java プログラム。同じコンピュータに複数の JDK バージョンをインストールできます。

JDKを使う理由とは?

  • JDKには、 Java プログラムと、それらを実行するためのJRE。
  • コンパイラが含まれています(javac) Java アプリケーションランチャー、アプレットビューア、および同様のユーティリティ。
  • コンパイラは、 Java バイトコードに変換します。
  • その Java アプリケーション ランチャーは JRE を開き、必要なクラスをロードして、そのメイン メソッドを実行します。

Java 仮想マシン (JVM)

その Java 仮想マシン (JVM) は、実行環境を提供するエンジンです。 Java コードまたはアプリケーションを変換します。 Java バイトコードを機械語に変換する。JVMは、 Java ランタイム環境 (JRE)。他のプログラミング言語では、コンパイラは特定のシステム用のマシンコードを生成します。しかし、 Java コンパイラは、仮想マシンと呼ばれるもの用のコードを生成します。 Java 仮想マシン。

なぜ JVM なのか?

  • JVMはプラットフォームに依存しない実行方法を提供します Java ソースコード。
  • 多数のライブラリ、ツール、フレームワークがすぐに利用できる状態で用意されています。
  • コンパイルすると Java このプログラムはどのプラットフォームでも実行できるため、大幅な時間短縮につながります。
  • JVMにはJIT(Just-In-Time)コンパイラが付属しており、実行時にバイトコードを低レベルの機械語に変換するため、多くの場合、インタプリタ型アプリケーションよりも高速に動作します。

Java ランタイム環境 (JRE)

JREは、他のソフトウェアを実行するために設計されたソフトウェアです。クラスライブラリ、ローダークラス、JVMが含まれています。簡単に言うと、JREだけを実行したい場合は、 Java プログラムを作成する場合(開発する場合を除く)、完全な JDK ではなく JRE が必要です。

JREを使う理由とは?

  • JREには、クラスライブラリ、JVM、およびその他のサポートファイルが含まれています。デバッガやコンパイラなどの開発者ツールは含まれていません。
  • 重要なパッケージクラスを使用します。 math, swing, util, lang, awtおよびランタイムライブラリ。
  • 走らなければならない場合 Java アプレットやアプリケーションを使用する場合は、システムにJREがインストールされている必要があります。

さまざまな種類 Java プラットフォーム

XNUMXつの異なるものがあります Java それぞれ異なる導入対象に合わせて調整されたプログラミング言語プラットフォーム:

1. Java プラットフォーム、スタンダードエディション(Java SE): Java SEのAPIは、 Java プログラミング言語の中核となる機能。基本型やオブジェクトから、ネットワーク、セキュリティ、データベースアクセス、グラフィカルユーザーインターフェース(GUI)開発、XML解析などに使用される高レベルクラスまで、あらゆるものを定義する。

2. Java プラットフォーム、エンタープライズ エディション (Jakarta EE、旧称 Java EE): Jakarta EEプラットフォームは、開発者向けのAPIとランタイム環境を提供します。ping そして、拡張性が高く、大規模で、多層構造で、信頼性が高く、安全なネットワークアプリケーションを実行する。 Oracle プラットフォームを転送 Eclipse Foundation 2017年に、ジャカルタEEとしてブランド名を変更した。

3. Java プラットフォーム、マイクロエディション(Java 自分): その Java MEプラットフォームは、APIとフットプリントの小さい仮想マシンを提供し、 Java フィーチャーフォンや組み込みコントローラーなどの小型デバイス向けアプリケーション。

4. JavaFX: JavaFXは開発者向けのプラットフォームですping 軽量なユーザーインターフェイス API を使用したリッチインターネットアプリケーション。ハードウェアアクセラレーションされたグラフィックスおよびメディアエンジンを使用して、 Java 高性能なクライアント、モダンなデザイン、そしてネットワーク上のデータソースに接続するための高レベルAPIを活用する。

を理解する Java プログラミング言語を理解するためには、コンピュータプログラムがどのようにコマンドを実行し、アクションを実行するかという基本的な概念を改めて確認する必要があります。

パソコンとは?

コンピュータは、計算を実行できる電子機器です。モニター、キーボード、マウス、そして情報を保存するためのメモリで構成されています。しかし、最も重要な構成要素はプロセッサです。プロセッサはコンピュータのすべての思考処理を実行しますが、実際にはどのように思考するのでしょうか?テキスト、画像、動画をどのように理解するのでしょうか?

PCとは何か - 主要構成要素
パソコンとは何ですか?

何ですか Assembly 言語?

コンピュータは電子機器なので、電子信号、つまりバイナリ信号しか理解できません。5ボルトの電子信号はバイナリの1を表し、0ボルトはバイナリの0を表します。あなたのPCは、これらの信号に絶えずさらされ​​ています。

コンピュータによって処理されるバイナリ信号

これらの信号のうち8ビットがグループ化され、テキスト、数字、記号を解釈するために使用される。

8ビットグループping テキストと記号

例えば、#記号はコンピュータによって10101010として認識されます。同様に、「加算」関数のパターンは10000011で表されます。

コンピュータ命令の二進数表現

これは8ビットコンピューティングとして知られています。現代のプロセッサは一度に64ビット命令をデコードできます。では、この概念は Javaでは、例を挙げて説明しましょう。

例えば、バイナリ数(10000011)で表される2つの数(1 + 2)を加算するようにコンピュータに指示したいとします。これをコンピュータに伝えるにはどうすればよいでしょうか?アセンブリ言語を使ってコードを実行させます。

Assembly 言語はソフトウェア開発言語の最も基本的な形式です。」

コマンドは次の形式で発行します。アセンブリ言語で2つの数値を加算するコードは次のようになります。

Assembly 言語:2つの数字を足す例

  • メモリ位置Aに番号1を格納する。
  • メモリ位置Bに番号2を格納する。
  • 場所Aと場所Bの内容を追加します。
  • 結果を保存します。

1950年代、コンピュータが巨大で電力消費が激しかった時代には、マップを使用してアセンブリコードを対応するマシンコード(1と0)に変換していました。ping コードはシートに書き込まれ、機械カードにパンチされてコンピュータに送られた。コンピュータはこれらのコードを読み取り、プログラムを実行した。これは長いプロセスだったが、アセンブラが登場し、この変換作業を自動化するようになった。

アセンブラとコンパイラとは何ですか?

技術の進歩に伴い、入出力デバイスが発明されました。アセンブラを使えば、プログラムをPCに直接入力でき、アセンブラはそれを対応するマシンコード(110001…)に変換してプロセッサに送ります。先ほどの1 + 2の例に戻ると、アセンブラはアセンブリコードをマシンコードに変換して出力します。

アセンブラはアセンブリコードをマシンコードに変換する。

アセンブリ言語に加えて、出力結果を表示するには、オペレーティングシステムが提供する関数を呼び出す必要もあります。

アセンブラだけでは不十分で、長いソースコードをより小さく最適化されたチャンクに圧縮するコンパイラも必要です。高水準のソフトウェア開発言語では、上記のアセンブリコード全体が次のような1行に縮小されます。 printf(“%d”, 1+2)コンパイラはあなたのコードを変換します C言語 コードをアセンブリコードに変換し、アセンブラがそれを機械語に変換する。 transmitプロセッサに渡されます。PCで最も一般的に使用されているプロセッサはIntelプロセッサです。

コンパイラとアセンブラのパイプライン

現代のコンパイラは、高水準言語のコードを機械語に直接変換できるように、アセンブラをバンドルしていることが多い。

さて、 Windows Intelプロセッサ上で動作します。オペレーティングシステムとプロセッサの組み合わせをプラットフォームと呼びます。最も一般的なプラットフォームは Windows Intelプラットフォーム(Wintelプラットフォームとも呼ばれる)上で動作します。その他の人気プラットフォームには、AMD、 LinuxPowerPC、および macOS.

プロセッサが変わると、アセンブリ命令も変わります。例えば:

  • Intelの「add」命令は、AMDではADDITIONと呼ばれる場合があります。
  • または、PowerPC の「Math ADD」。

オペレーティングシステムが変更されると、OSレベルの呼び出しのレベルと性質も変化します。

開発者として、ソフトウェアがあらゆるプラットフォームで動作し、リーチを最大化したいと考えるでしょう。そのためには、 printf ターゲットごとにコマンドをネイティブマシンコードに変換する。

マルチプラットフォームコンパイラ

コンパイラは高価であり、オペレーティングシステム間で互換性の問題が発生するリスクが常にあります。OSとプロセッサの組み合わせごとに個別のコンパイラを購入してインストールするのは現実的ではありません。では、代替手段は何でしょうか? Java 言語。

どのように Java 仮想マシンは動作しますか?

使用することにより Java 仮想マシンこの問題は解決可能です。しかし、異なるプロセッサやオペレーティングシステム間でどのように動作するのでしょうか?手順を追って見ていきましょう。

認定条件 Java 仮想マシンは段階的に動作します

ステップ1) 2つの数値の加算を表示するコード — System.out.println(1+2) — として保存されます .java ファイルにソフトウェアを指定する必要があります。

ステップ2) 使い方 Java コンパイラ (javac)、コードは中間コードに変換されます。 バイトコード出力は 。クラス ファイルにソフトウェアを指定する必要があります。

ステップ3) このバイトコードは物理プラットフォームでは理解されず、仮想プラットフォームでのみ理解されます。 Java 仮想マシン.

ステップ4) JVMはオペレーティングシステムのRAM上に存在します。JVMにこのバイトコードが与えられると、JVMは実行中のプラットフォームを識別し、その場でバイトコードをネイティブマシンコードに変換します。

PCで作業しているときやウェブを閲覧しているときに、 Java関連アイコンが表示されれば、JVMがRAMにロードされていることを確認できます。 Java attrac利点は、コンパイルされたコードがすべてのPCプラットフォームだけでなく、モバイルやその他の電子機器でも実行できることです。 Java.

Java プログラミング言語であると同時にプラットフォームでもある。」

どのように Java プラットフォームに依存しない?

Cコンパイラとは異なり、 Java コンパイラは特定のマシン用のネイティブ実行コードを生成しません。代わりに、 Java 独自の中間フォーマットを生成します バイトコードバイトコードはJVM仕様に定められた規則に従って実行されるため、 Java プラットフォームに依存しない言語です。

バイトコードは、どのオペレーティングシステムにインストールされたJVMでも理解できます。つまり、 Java ソースコードは再コンパイルなしで全ての最新オペレーティングシステムで実行でき、これが基盤となる Java「一度書けば、どこでも実行できる」という約束。

よくあるご質問

JDKはコンパイラとツールを含む開発キットです。JREはJVMと実行に必要なクラスライブラリを含むランタイム環境です。 Java プログラム。JVMはJRE内部のエンジンであり、実行時にバイトコードをネイティブマシンコードに変換します。

Yes. Java 企業システムにとって依然として非常に重要であり、 Android アプリ、金融プラットフォーム、ビッグデータ、マイクロサービス。 Java 21本、そして Java 25 LTS では、レコード、仮想スレッド、パターンマッチング、パフォーマンスの向上を追加し、 Java 競争力があります。

初心者は、長期サポート(LTS)版をインストールすることをお勧めします。 Java 2025年9月にリリースされたSE 25は最新のLTSバージョンで、 Java 21本、そして Java 17は依然として広く使用されています。LTSバージョンは、ベンダーから拡張されたセキュリティパッチと安定したサポートを受けられます。

AIは Java エンタープライズ向け機械学習、不正検出、レコメンデーションエンジン、チャットボット。DJL、Deeplearning4j、TribuoなどのライブラリはJVMにディープラーニングをもたらし、AIコーディングアシスタントは処理速度を向上させます。 Java リファクタリングと単体テストの生成。

はい。AIコーディングアシスタントが説明します Java 構文の確認、練習問題の生成、エラーのデバッグ、コードのリアルタイムレビューが可能です。初心者は、オブジェクト指向のベストプラクティス、JVMの動作、従来の教科書ではほとんど取り上げられないよくある間違いなどを強調するインタラクティブなフィードバックから恩恵を受けることができます。