Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Javaは今でも無償です、という話 / Java is still free

Javaは今でも無償です、という話 / Java is still free

2019年6月1日にFGNエンジニアMeetup vol.1で登壇した資料です

Naoki Kishida

June 01, 2019
Tweet

More Decks by Naoki Kishida

Other Decks in Technology

Transcript

  1. Javaの開発体制 • JavaはOpenJDKとして複数の会社や個人が開発に参加している • Javaはさまざまな会社や団体がバイナリを提供している OpenJDK Oracle Red Hat SAP

    Googleなど Oracle Amazon Red Hat Azul 開発 Oracle JDK Oracle OpenJDK Amazon Corretto Red Hat OpenJDK Zulu AdoptOpenJDK AdoptOpenJDK バイナリ
  2. Javaのリリースサイクル • 半年に一回3月と9月に新バージョンをリリース • 最新バージョンは3月にリリースされたJava 12 • Java 13が開発中で9月にリリース予定 •

    Oracle OpenJDK以外のディストリビューションは3年ごとに LTS(Long Term Support)を設定 • Java 11がLTS • 次のLTSはJava 17
  3. どのディストリビューションを 使えばいいの? • OSやクラウド、Appサーバーで提供されているものがあればそれ • Red Hat Enterprise LinuxやCentOS •

    Red Hat OpenJDK • Microsoft Azure • Azul Zulu • AWS(Amazon Linux) • Amazon Corretto(予定) • こだわりがなければAdoptOpenJDK • https://adoptopenjdk.net/ • 個人の環境はOracle OpenJDKの最新版 • http://jdk.java.net/
  4. 最近のJava Webフレームワーク • Helidon by Oracle • https://helidon.io/ • Micronaut

    by Object Computing • https://micronaut.io/ • Quarkus by Red Hat • https://quarkus.io/ • 起動速度やメモリフットプリントを削減 • GraalVM Native Imageに対応
  5. ついでにJavaの最近の言語拡張 • var(JDK10) • switch式(JDK 12, 13, preview) • Text

    Block(JDK 13, preview) • パターンマッチング • record
  6. switch式 • switch文が式に var s = switch (n) { case

    1, 2 -> "Hello"; case 3 -> "World"; default -> "!!!"; }
  7. record型 • 構造体のようなものが • record Point(int x, int y) {}

    • パターンマッチも対応予定 if (p instanceof Point(var x, var y)) { System.out.printf("x:%d y:%d", x, y); }