« ^ »

Java関連の用語を整理する

2023/9/2 更新
約 3分 で読める

Java製のプロダクト

JavaはWebシステム、銀行系、業務系、組み込みなど多くの分野で使用されている。Javaで実装されているサービスやソフトウェアは無数にある。実装の仕方等を学ぶ時に、既に良く実装されたソフトウェアを眺めてみると、とても参考になる事がある。こういう時、Github等で「awesome-xxx」のように検索してみると、参考になるページを見付けられるかもしれない。xxxの部分は検索したい技術要素に置き換える。今回の場合、「awesome-java」といった感じだ。

「awesome-xxx」というのは、その技術要素で作成されたソフトウェアを一覧に対して、ソフトウェア技術者が良く付けるタイトルで、意味としては「良い感じのJavaソフトウェア集」みたいな感じだ。

Web系のJava技術

Javaサーブレット

サーバー側で動作するJavaプログラムで、リクエストがあった時にHTMLを出力する。

JSP

サーバー側で動作するが、Javaサーブレットとは異なり、HTMLの内部にJavaを記述する。アプリケーションサーバは、HTML内に記述されたJavaを評価し、適切なレスポンスとしてクライアント側に返す。

エデョションの分化

様々な機能をJavaに組み込んだ結果、Java自体が肥大化してきた。そこで対象に合わせたエデョションとして分化する事になった。

Java SE (Standard Edition)

基本的なクラスライブラリがまとめられている。デスクトップアプリケーションを作る際などに使用する。

Java EE (Enterprise Edition)

Webシステムや、大規模システムを構築するライブラリがまとめられている。

Jakarta EE

Javaの技術が多岐に利用されるため、Java EEのバージョンアップのスピードが遅いという問題があった。そこで2018年にOracle社からEclipse財団に管理が移った。商標の理由により、Jakarta EEという名称変更となった。

Java ME (Micro Edition)

家電製品の制御や、モバイル系のシステムを作る時に使用する。

  • 家電製品の制御 (OJPI)
  • ICカードの制御 (Java Card)
  • テレビの制御 (Java TV)
  • モバイル端末 (Java for Mobile)

JDK (Java Development Kit)

JDK (無印)

Javaの開発キット。通常では以下が梱包されている。

実行環境
JRE
言語
javacやそれに関連するビルドツール
クラスライブラリ
Java SE

Webシステムを開発する場合、JDKとJava EEのSDKをインストールする。Oracleが管理している。

OpenJDK

OracleJDK

JVM

JRE

Javaの実行環境。ハードウェアの違いを吸収する。

Darvik

Androidで動作しているJava実行環境。

https://ja.wikipedia.org/wiki/Dalvik%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3

Googleが開発。API仕様についてOracleと訴訟になった。

JVM系言語

Java

Javaそのもの。

Kotlin

Javaプログラムをコンパイルできる別の言語。JetBrainsが開発した。

Clojure

JVM上で動作するLisp。

Scala

統合開発環境

Eclipse

Javaの統合開発環境の代表格。昔は動作が重かったが、今はそうでもないらしいが試していない。

Intelij IDEA

JetBrainsが開発したIDE。

Android Studio

Androidアプリを開発するための統合開発環境。


©TakesxiSximada
しむどん三度無視 により 2021/7/16 に投稿、2023/9/2 に最終更新
« ^ »