up:: Programming

プログラミング言語。
write once, run everywhereを信条としている。

コードをコンパイラでバイトコード(.class)にし、環境ごとに用意したJVM - Java Visual Machineのインタプリタで1行ずつ解釈する。
この時、頻出する表現などはJITコンパイラで纏めてOSの機械語に翻訳してから解釈するらしい。

GraalVMを学びながら動した (Windows) - Qiita

openjdkというオーブンソース開発キットを元に、いろんな企業がディストリビューションを作っている。
普通にopenjdkと言って指すのはOracleがビルドしたやつっぽい。これにエンタープライズ向け機能を追加したのがoracle jdk。

バージョンの+nはビルド番号。ビルド回数と思われるが、ともかく利用者にはあまり関係ないらしい。
Javaのバージョン番号の形式を理解する - Magnolia Tech

  • AdoptOpenJDK
    • OpenJDKにいろいろ追加したコミュニティエディション
    • 商業ライセンスとかマルチプラットフォーム対応とか
    • これの後継がtemurin
    • r/java - Reddit
    • Adoptium
  • Corretto
    • Amazon
    • AWSとの連携に向いてる
  • dragonwell
    • Alibaba
    • アリババ内部、分散システムなど
  • graalvm
  • Kona
    • Azul Systems
    • エンタープライズ向け
  • Liberica
    • BellSoft
    • Dockerやコンテナ向け
  • SapMachine
    • SAP
    • SAP製品向け
  • Semeru
    • IBM
    • IBM製品向け
  • Temurin
    • Eclipse Adoptium
    • 商用向けに安定とサポートを取った無償ビルド
  • Trava
    • Alibaba
    • Alibaba Cloud
  • Zulu
    • Azul Systems
    • 多くのプラットフォームとアーキテクチャ、LTS