2017年10月21日土曜日

Java SE 9/EE 8リリースイベント 兼 JavaOne 2017 報告会 @ 東京に行って来た

台風接近前アナウンスが流れる地下鉄に揺られながら、参加してきましたので書き残しておきます。

ヤフーオフィスでの開催でしたが、会場では飲食自由ということでうちの会社ではあと10年は実現しなさそうw

あくまで個人的な備忘録的なメモなのであしからず、、、

◾︎JavaOne 2017 Overview & Announcements 
by 伊藤 敬さん (日本オラクル)

JavaOne概要説明がはじめにありました。
Mark氏はJavaSE9発表ということで、上機嫌であった話。

JavaChampionも増えてるし、応援している人たちも増えてるよ!
世界ナンバーワン1200万人の開発者。前回は1000万人。

軽量化している(今までとは違う)
JavaEE8、JavaSE9

JDK変更について
MillingCoin、Jigsawリリースと順次反映されている。

リリースモデルについて
○現行リリースモデル
★新しいリリースモデル
<機能リリース>
○2年に一度(目標)。まず遅れるので、、、
★6ヶ月に一度

<更新リリース>
○3ヶ月ごと。メンテ用と限定的機能アップデート
★3ヶ月ごと

JDK8
→2018年9月まで。商用サポート 2025年3月まで。

OpenJDKとOracleJDKのソースコード管理
→今後は一本で管理していく。


Java商用サポートについては、常に注視しておいたほうがいい。他のソフトも同様だが。

新しいリリースモデルが遅延ばかりだと結局破綻してしまうので、追っかけしたいと思います。

来年の開催
2018.10.28〜

◾︎JDK9, Release Cadence & Future 
by 久保田 祐史さん (inc. JShell Demo by @bitter_fox) (@sugarlife)


久保田さんは難聴者とのこと。障害有無に関係なく立派ですね。
雑誌 WEB+DB

情報収集の仕方
追加機能については、JEPを見ることで分かる。
メジャーバージョンのマイグレーション時に注意すべき点はオラクルのマイグレーションガイドを参照する。

ざっくり知りたい方はこちら
↓↓↓↓

メリット
1、モジュール化(Jigsaw)
2、JShell
3、ライブラリ改善
4、セキュリティ強化
5、付属ツールの刷新
6、G1 GCやコンパイラなどの性能改善

上の3つが新機能。
デモしてくれました。

JavaのREPLツール
→Lisp、Phython
→教育分野ではREPLツールないと不人気になる。

Java9入れなくてもJShell試せる
https://tryjshell.org

補完機能が豊富
import簡単。Shift+iで候補出てくるので選択すればok!これは便利だわな。

フェイルセーフ
→NPE(NullPointerException、IAE。

StreamAPI強化
→Stream.Iterator for文的な使い方できる。

JavaSE18.3
→管理場所 JDK Project
→2018.3.20 リリース予定(Java9から半年後)

ローカル変数の型推論が実装されることで、
頭でクラス名を書く必要なく、すべて
var A
var B
みたいに書ける。

◾︎Intel's Persistent Memory 
by 吉田 真也さん(@bitter_fox)

立命館大学 大学院2回
OpenJDKコミッター

Persistent Memory知ってる人??
→知らん、、、

最近アナウンスされた、新しいタイプのメモリ。安くて良いもの。大容量メモリ。
面白いのは、電源切れても内容が保持される!今までのメモリ概念を覆す。来年リリース?!

オラクルがIntelを意識している。

どれくらい改善される?割愛。
レスポンスタイムの改善。

今後10、20年後を見据えるキーワードになるのでは?!

IntelがJavaに力入れている。

◾︎Java EE 8 
by 西川 彰広さん (日本オラクル)

①JavaEE8
9.21リリース
GitHubに移管されました。
Glassfish5.0

WebLogic Server来年次期バージョンのリリース予定。

②EE4J(Eclipse Enterprise for Java)
Open、Evolving、Nimble(より速く動く?!)、Scalable

JavaEE
現代にあわせて成長。追随できる仕組み必要。JavaEEをEclipseファンデーションへの移管する。

EE4J→移管プロジェクトの名前です。

なぜ移管したの?!
メリットは、要はテクノロジーへの追随を実現するための移管である。
Open→OracleはJavaスペックリードする立場から降りる。スポンサーはEclipseファンデーション。


Compatible→移管はスポンサーシップも移管する。ドキュメントの資産はOracle所有という扱い。

Flexible→メモできなかった、、、
Nimble→クイックで早く。

EE4Jとは?
→FAQに詳しくあります。

ではオラクルはJavaEE7とかはどのようにサポートしていくの?
既存契約は継続。
既存(〜9/12)は継続。

MVC1.0とかはEE4Jで扱う。

@EclipseEE4J サブスクライブ

◾︎Microservices Topic & Approach 
by 森下 大介さん(ヤフー株式会社)

参加したセッション等。

システムにあわせて、組織や文化も変化していった。
コンウェイの法則
→組織のコミュニケーション構造がシステムに反映
Autonomy(自主・自立性)
→スクワッド(分隊)と呼ぶチームにメンバーが所属。一人一人が考え、どのように開発するかを検討議論し決めていく。

マイクロサービスを取り巻く仕組みについて
キーワード
→コンテナ、オーケストレーション
フォールトトレラント
→一部のエラーで全体が影響でないようにする

議論の対象が変化
フレームワークやライブラリは自前開発するものではない。サービスという部品をどう協調動作させるかがポイント。
同期<非同期