Java は、1991 年に Sun Microsystems, Inc. の James Gosling によって開発された、高レベルの汎用オブジェクト指向の安全なプログラミング言語です。正式には OAK として知られています。 1995 年に、Sun Microsystem は名前を Java に変更しました。 2009 年、Sun Microsystem は Oracle Corporation に買収されました。
Java のエディション
Java の各エディションには異なる機能があります。 Java には 3 つのエディションがあります。
Java Standard Edition (JSE): | デスクトップコンピュータ用のプログラムを作成するために使用されます。
Java エンタープライズ エディション (JEE): | これは、サーバー上で実行され、大量のトラフィックと複雑なトランザクションを管理する大規模なプログラムを作成するために使用されます。
Java Micro Edition (JME): | セットトップ ボックス、電話、家電などの小型デバイス用のアプリケーションを開発するために使用されます。
Java アプリケーションの種類
Java プログラミングを使用して作成できる Java アプリケーションには、次の 4 種類があります。
スタンドアロン アプリケーション: | Java スタンドアロン アプリケーションは、AWT、Swing、JavaFX などの GUI コンポーネントを使用します。これらのコンポーネントには、ボタン、リスト、メニュー、スクロール パネルなどが含まれます。これはデスクトップの疎外とも呼ばれます。
エンタープライズアプリケーション: | 本質的に分散されるアプリケーションはエンタープライズ アプリケーションと呼ばれます。
ウェブアプリケーション: | サーバー上で動作するアプリケーションをWebアプリケーションと呼びます。 Web アプリケーションの作成には、JSP、サーブレット、Spring、および Hibernate テクノロジーを使用します。
モバイルアプリケーション: | Java ME は、複数のスマートフォンで動作するモバイル アプリケーションを開発するためのクロスプラットフォームです。 Java は、Android でのアプリ開発用のプラットフォームです。
Java プラットフォーム
Java プラットフォームはプログラムの集合です。 Java プログラミング言語で書かれたプログラムの開発と実行に役立ちます。 Java プラットフォームには、実行エンジン、コンパイラ、およびライブラリのセットが含まれています。 Java はプラットフォームに依存しない言語です。
Javaの特徴
単純: | Java は、その構文がシンプルでわかりやすく、理解しやすいため、シンプルな言語です。 C++ の複雑で曖昧な概念は、Java で削除されるか再実装されます。たとえば、ポインタと演算子のオーバーロードは Java では使用されません。
オブジェクト指向: | Java では、すべてがオブジェクトの形式になります。これは、何らかのデータと動作があることを意味します。プログラムには少なくとも 1 つのクラスとオブジェクトが必要です。
屈強: | Java は実行時とコンパイル時にエラーをチェックするよう努めます。ガベージ コレクターと呼ばれる強力なメモリ管理システムを使用します。例外処理とガベージ コレクション機能により、強力になります。
安全な: | Java は明示的なポインタを持たず、プログラムは仮想マシン内で実行されるため、安全なプログラミング言語です。 Java には、Java クラスのアクセスを定義するセキュリティ マネージャーが含まれています。
プラットフォームに依存しない: | Java は、コードを一度書き込めばどこでも実行できることを保証します。このバイト コードはプラットフォームに依存せず、どのマシンでも実行できます。
ポータブル: | Java Byte コードはあらゆるプラットフォームに持ち込むことができます。実装に依存する機能はありません。プリミティブ データ型のサイズなど、ストレージに関連するものはすべて事前定義されています。
ハイパフォーマンス: | Java はインタプリタ型言語です。 Java は、Just-In-Time コンパイラを使用することで高いパフォーマンスを実現します。
配布: | Java にはネットワーク機能もあります。 TCP/IPプロトコルをサポートしているため、インターネットの分散環境向けに設計されています。インターネット経由で実行できます。 EJB と RMI は分散システムを作成するために使用されます。
マルチスレッド: | Java はマルチスレッドもサポートしています。一度に複数の仕事を処理することを意味します。
OOP (オブジェクト指向プログラミング システム)
オブジェクト指向プログラミングは、複雑な問題を小さなサブ問題に分割することで解決する方法です。オブジェクトは現実世界の実体です。オブジェクトを使用するとプログラムの開発が容易になります。 OOP では、クラスとオブジェクトを構造化して使用してプログラムを作成します。
クラス: クラスは、オブジェクトのデータ メンバーとメソッドを定義するテンプレート、ブループリント、またはプロトタイプです。オブジェクトはクラスのインスタンスです。 class キーワードを使用してクラスを定義できます。
物体: オブジェクトとは、明確に識別できる現実世界の実体です。例えば、机やサークルなどがオブジェクトとして考えられます。オブジェクトには固有の動作、アイデンティティ、および状態があります。現在の値を含むデータ フィールドは、オブジェクトの状態 (プロパティまたは属性とも呼ばれます) を表します。
抽象化: 抽象化は、無関係な情報をユーザーから隠す方法です。たとえば、ドライバーは車の運転方法しか知りません。車がどうやって動くのかを知る必要はありません。キーワードabstractを使用してクラスを抽象化できます。 Java では、抽象化を実現するために抽象クラスとインターフェイスを使用します。
カプセル化: カプセル化は、データと関数を単一のユニットにバインドするプロセスです。クラスはカプセル化の一例です。 Java では、Java Bean は完全にカプセル化されたクラスです。
文字から整数へのJava
継承: 継承は、あるクラスが別のクラスのすべての機能を取得するメカニズムです。 extends キーワードを使用して継承を実現できます。コードの再利用が容易になります。
多態性: 多態性とは、さまざまな形で現れる能力です。言い換えれば、単一のアクションをさまざまな方法で実行できるということです。たとえば、教室では男の子が生徒のように振る舞い、家では息子のように振る舞います。ポリモーフィズムには、実行時ポリモーフィズムとコンパイル時ポリモーフィズムの 2 つのタイプがあります。