Java
仮想環境で実行できるバイトコードにコンパイルされ、GUIなども含めてどこでも実行できるのが特徴のプログラミング言語とその実行環境。バイトコードはJava以外でも使える。
現在はLinux, macOS, Windows を主にサポートしている。
Sun Microsystems が開発、現在はOracleに合併。Java Community Process で開発される形。
OpenJDKをベースとして各社JDKの形で公開されたりする。
内部の文字コードは最初からUnicodeを採用(UCS-2)、JDK 1.5くらいからUTF-16に対応したAPIに拡張されている。
JDK と JRE があったがJDKに統合され、ランタイムはjlinkやjpackageなどで作成できる形になった。
Java Community Process JCP
https://jcp.org/
JavaCardなど他のものもある。
Java SE
現在は Java SE 8, 11, 17, 21がLTS 安定版、 Java SE 22が最新版。
Java 1.2 から Java 2とも呼ばれていた(旧?)
Java 9 から Java Platform Module System (JPMS)が使えるがそれ以前との併用が難しそうなのでどう?
JDK 1.0 Applet
JDK 1.1 JDBC
Java 2 Standard Edition 1.2 / Java2SDK / JDK 1.2 Standard Enterprise Micro に分割 Swing
Java 2 Platform SE 1.3 / JDK 1.3
Java 2 Platform SE 1.4 / Java 2 SE 1.4 / J2SE 1.4 / JDK 1.4 JavaWebStart
Java SE 5 / JDK 1.5 Unicodeサロゲートペア, Codepoint対応 Java SE 5 と名称に小数点を使わなくなった
Java SE 8 Long Time Support
Java SE 9 OpenJDK 分離 module
Java SE 11 LTS
Java SE 17 LTS
Java SE 21 LTS
Java SE 25 LTS
https://docs.oracle.com/en/java/javase/21/docs/api/index.html
Oracle JDK https://java.oracle.com/
GraalVM https://www.graalvm.org/
OpenJDK https://openjdk.org/
Eclipse Temurin JDK https://adoptium.net/
RedHat
Microsoft
Amazon
Jakarta EE
Java EEはOracleを離れJakarta EEへと継承されている。
Jakarta EE 9 JDK 8?
Jakarta EE 9.1 JDK 11?
Jakarta EE 10 JDK 11
仮想マシン
Java Virtual Machine JVM
HotSpot VM
jlink 最小JRE生成
jpackage 実行ファイル生成
jlb コンテナ化
ビルドツール
Maven
Gradle
Ant
統合開発環境
Visual Studio
Visual Studio Code
IntellIJ IDEA
Apache NetBeans
Eclipse