「Java言語」と「Java SE(Oracle JDK)」の概要を紹介。

概要:「Java言語」と「Java SE(Oracle JDK)」

「Java言語」と「Java SE(Oracle JDK)」の概要を紹介。

■関連する比較ページ

Java言語

■概要

Java言語とは、汎用のクロスプラットフォーム言語です。

当時のソフトウェア開発における多くの問題を解決しました。
・オペレーティングシステムからの完全な抽象化
・どの環境でも実行可能なアプローチによる移植性
・単純化されたメモリ管理 など

→oracle.com →java

■経緯

Java言語は、1990年代半ばにSun Microsystems社のJames Gosling氏によって開発されました。

その後、Oracleによって買収されています。

■人気言語に成長

Javaは革新的な言語として「独立系ソフトウェアベンダー」「企業内開発セクション」「オープンソースコミュニティ」などの間で非常に人気になりました。

ちなみに2020年時点において、GitHubの人気言語レポートによると、「Java」は、「JavaScript」と「Python」に次いで、世界で3番目に人気のあるプログラミング言語としてリストされています。

■オープンソース化

2006年、Sun Microsystems社は、Javaのオープンソース化を決定しました。
そして、2006年11月に、Javaのソース コードの大部分がGPLの下でリリースされました。

この最初のリリースには、Java仮想マシン「JVM」+Javaコンパイラ「javac」が含まれていました。
Java開発者は、これらのコンポーネントを組み合わせることで、完全に無料のオープンソースJavaプラットフォームに対してコードを記述し、実行できるようになりました。

2007年までに、少数のプロプライエタリコードを除いたすべてのコードがコミュニティにリリースされました。

■Javaコンポーネント① Java仮想マシン(JVM)

仮想マシン

Java仮想マシン(JVM:Java Virtual Machine)は、Javaバイトコードを実行する仮想マシンです。

Java仮想マシンはJavaソースコードをそのまま認識しません。
そのため、「Javaソースコードファイル(*.java)」をコンパイルして、JVMが理解するバイトコードである「Javaクラスファイル(*.class)」を用意する必要があります。

ポータブル言語

Java仮想マシンは、各種実行環境(Windows、Linux、macOS)ごとの実装があります。

1つのJavaソースコードから作成されたバイトコードは、各種実行環境で動作し、同じ結果を得ることができます。

このポータブル性が、Java言語の大きな魅力となっています。

■Javaコンポーネント② Javaランタイム環境(JRE)

動作環境

「Javaランタイム環境(JRE:Java Runtime Environment)」は、Javaプログラミング言語で記述されたアプレットおよびアプリケーションを実行するための「ライブラリ」「Java仮想マシン」「その他必要コンポーネント」を提供します。

しかし、Javaランタイム環境には、アプレットやアプリケーションを開発するためのコンパイラやデバッガなどのツール(ユーティリティ)は含まれていません。

デプロイメントテクノロジー

Javaランタイム環境には、2つの主要なデプロイメントテクノロジーが含まれています。
①Javaプラグイン---主要ブラウザでアプレットを実行
②Java Web Start---ネットワーク経由でスタンドアロンアプリケーションをデプロイ

これらは、エンタープライズソフトウェア開発環境「J2EE(Java 2 Platform, Enterprise Edition)」のテクノロジー基盤でもあります。

JDKに統合

「Javaランタイム環境(JRE)」は、Javaを実行するために必要な「Java Development Kit(JDK)の一部コンポーネント」です。
以前、JREは、JDKから個別にダウンロードしていました。

Java 11以降、JREは個別のエンティティではなく、JDKの一部として統合されました。
そのため、JRE単体でのダウンロードはできなくなっています。

■Javaコンポーネント③ Java Development Kit(JDK)

JREのスーパーセット

Java Development Kit(JDK)は「JREのスーパーセット」であり、JREのすべてに加えて、アプレットやアプリケーションの開発に必要なコンパイラやデバッガなどのツールが含まれています。

Java SEプラットフォーム仕様の実装

Java Development Kit(JDK)は、さまざまなベンダーやオープンソースコミュニティなどによる「Java SEプラットフォーム仕様の実装」です。

Java互換性テスト

多くのJDKが存在していますが、正式にJDKと呼ばれるためには、バイナリがそのリリースの「Java互換性キット(JCK)」に合格している必要があります。

これは、技術互換性キット(TCK) のコレクションであり、仕様の実装が期待通りに動作することを確認するために各Java仕様要求をテストします。

Java SE(Oracle JDK)

■概要

「Java SE」とは、Oracle社が提供するJDK「Java言語用開発ツールキット」です。

「OpenJDK」に対して、通称「Oracle JDK」と呼ばれます。

Oracle JDKには、コンポーネントとして多くの開発用ツールが含まれています。

→oracle.com →java →technologies →Java SE at a Glance

■経緯

当初のJava開発キットは、Sun Microsystems社が開発した「SUN JDK」を指していました。

2010年にOracle社がSun Microsystems社を買収した後、改名されています。

OpenJDK最新TOPICS

【講演資料を公開】7/12「実は高い?OSSのサポート費用を削減するために」(2018年08月17日 12:07)

2018年07月12日(木)15:00~17:00 株式会社スマートスタイル本社 マルチファンクションルーム にて「実は高い?OSSのサポート費用を削減するために」と題したセミナーが開催されました。 今回も多くの方にご来場頂き、おかげさまで大盛況のうちに終了することが出来ました。ありがとうございました。 当日は、OSSのサポート費用を削減する方法の1つとして「複数のオープンソースをセットで...

OpenJDK最新CLOSEUPコラム

イベント情報

セミナー講演資料

無料資料プレゼント

2021/03/04 セキュリティDAYS Keyspider資料

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



セミナー講演資料公開中

リアルタイム性の高いIoTの課題とは?スマートシティを支えるMQTT ~IoTメッセージングプラットフォームを活用し、セキュリティ確保や通信到達保障を簡単に実現~

エンジニアにとって「情報発信」は重要なのか? ~テックピット DEVELOPERS RESKILLING CONFERENCE クロージングセッション~

CI/CDが開発ガバナンスの弱体化を招く?回避する方法とは ~複数ツールの組み合わせで生じる問題を、統合プラットフォーム「GitLab」で解決~

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter