Java Day Tokyo 2016に行ってきました
JJUG CCCに続いて、Java Day Tokyo 2016に行ってきました。
今回は教育扱いで参加させていただきました。感謝!
聴講したセッションはこんな感じ。
めっちゃJava SEでした。
とりあえずまとめておきます。
英語できないし、同時通訳馴れないし、椅子でお尻痛いし、CO2濃度高いしで疲労しました。
だもんで、色々間違ってるかも。
基調講演
こんな感じの流れ。
Javaの現状
30億のデバイスで走るJava
Java SE8の大成功 => 首位返り咲き
JCPへの招待
Java Community Process(JCP)
NPO, ユーザグループ, 個人, 企業が参加している
成功のカギは我々開発者に!!!
プラットフォームと開発
メインプラットフォームはクラウド!!!
クラウド・・・大きな一つの流れですね。
Java SE9
モジュール、REPLなど
これはもうちょい詳しく
ツール
NetBeansのデモ
JavaScript用のツールキットのデモ
これめっちゃよかった。
サービス
時代はクラウド
- マイクロサービス
- 分散化
- Polyglot(多言語)
- DevOps
- コンテナ
Java EE
Java EEはモノリスでも、マイクロサービスでもいけるよって話?
Java EE事例
システム再構築でJavaを採択するよ!
COBOL -> Java(JSF + CDI + JPA)
エンジニア募集してた。
商業高校でCOBOLならって(覚えてない)今Javaを愛してる僕をぜひ・v・
ドローンデモ
ドローンで情報収集させてクラウドにぶち込んで、ブラウザで見る。
これ、研究分野で使えるね。
ペッパーデモ
Dukeは4本指
Java SE9 Overview
クラウド時代の戦略
- Security
- Density
- Start-up time
- Predictability
- 生産性
SE9のメインはモジュール(Project Jigsaw)
デフォルトのガベージコレクションをC1GCに -> スケーラビリティ
REPL(JShell) -> インタラクティブモードで教育
SE9以降・・・Value Typesとか。
Project Jigsawではじめるモジュール開発
module-info.java
をクラスパス上に置く。
書き方はこんな感じ?
module com.foo.app {
requires com.foo.bar;
requires public java.sql;
exports com.foo.app;
}
requires
で依存関係かく。requires public
で依存関係の依存関係も。
exports
で別モジュールから見ていいの指定できる。
今のとこ、バージョンはコマンド引数で指定・・・。
JavaFX 8 and the future
Javaでデスクトップアプリ作るならSwing
-> JavaFX
- クロスプラットフォーム
- モバイル・組み込み(ラズパイ)も
Java FX8では・・・
実践して分かったJavaマイクロサービス開発
マイクロサービスを実践してきた事例を追体験
start simple, not small いい言葉。
教科書通りにやる必要はない。チームにあった選択を。
マイクロサービス流行ってるけど、
うちは、
- 開発メンバー一人+スポット
- オンプレミス
- ダウンタイムあってもいい
て感じなんで、慌てて採用しなくてもいいと思った。
オラクルコンサルが語るJava SE 8新機能の勘所
のパフォーマンス紹介
パフォーマンスが悪くなるってことはない
Date and Time APIのほうがCalendarよりセキュアだったり
Stream APIは簡単にパラレルにできたり
API以降してった方がお得のよう。
パフォーマンスはJava Flight Recorderで測定できる。
あと、パラレルっていってもハイパースレッディング分は速くならない
・・・パラレルしてる処理がCPUフルに使えないようなやつなら、ハイパースレッディング分も早くなりそうかな?あれってたしかCPUの余ってる部分の効率よく使う仕組みだった気がするから。
まとめ
お尻痛い。
JJUGよりもフォーマルな人多かった。
Jigsawのこと聞けて満足。
あとパフォーマンス測定とかしたことなかったし、Flight Recorderとか使ってみようと思いました。