はじめに Java
⚡ スマートサマリー
はじめに Java このチュートリアルでは、汎用的なクラスベースのオブジェクト指向プログラミング言語であり、コンピューティングプラットフォームとしても機能する言語について説明します。 Javaの歴史、バージョン、機能、コアコンポーネント(JDK、JVM、JRE)、プラットフォームエディション、および を作成するバイトコードメカニズム 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 プログラミング言語を理解するためには、コンピュータプログラムがどのようにコマンドを実行し、アクションを実行するかという基本的な概念を改めて確認する必要があります。
パソコンとは?
コンピュータは、計算を実行できる電子機器です。モニター、キーボード、マウス、そして情報を保存するためのメモリで構成されています。しかし、最も重要な構成要素はプロセッサです。プロセッサはコンピュータのすべての思考処理を実行しますが、実際にはどのように思考するのでしょうか?テキスト、画像、動画をどのように理解するのでしょうか?

何ですか Assembly 言語?
コンピュータは電子機器なので、電子信号、つまりバイナリ信号しか理解できません。5ボルトの電子信号はバイナリの1を表し、0ボルトはバイナリの0を表します。あなたのPCは、これらの信号に絶えずさらされています。
これらの信号のうち8ビットがグループ化され、テキスト、数字、記号を解釈するために使用される。
例えば、#記号はコンピュータによって10101010として認識されます。同様に、「加算」関数のパターンは10000011で表されます。
これは8ビットコンピューティングとして知られています。現代のプロセッサは一度に64ビット命令をデコードできます。では、この概念は Javaでは、例を挙げて説明しましょう。
例えば、バイナリ数(10000011)で表される2つの数(1 + 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 仮想マシンこの問題は解決可能です。しかし、異なるプロセッサやオペレーティングシステム間でどのように動作するのでしょうか?手順を追って見ていきましょう。
ステップ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「一度書けば、どこでも実行できる」という約束。








