Upload
-
View
872
Download
1
Embed Size (px)
Citation preview
JavaOne2017で感じたJavaのいまと未来
2017/10/28JavaOne報告会 in大阪LINEFukuokaきしだ なおき
ことしのJavaOne
会場がMosconeに
• 2006あたりまでMosconeだった• 2016までHiltonとParc55(とNikko)– 探検感が楽しかった– Hiltonは複雑怪奇
• ただしMosconeSouthではなくMosconeWest– MosconeSouthは工事中
セッション枠が45分
• 聞くのが楽• ちょっと物足りない
昼食にドリンクがない
• いままではペプシかなにかがあった
時差ぼけ
• おかげで朝8:30のセッションに元気に参加できます!
• 日本に戻っても2週間くらい午前中起床が続きました。
• 昼夜逆転対策にサンフランシスコおすすめ
サンフランシスコ
• 日本人観光客がいない– 中国語を話す人が多い
• ホームレスがまた増えた– 去年減ったように見えたホームレスが増えてた– 子どもをつれてるホームレスが何組かいた
• SFMOMAの改修終了
JavaEEが不人気
• LindaDemicelのセッションに空席– SpecLead– 同じ話を3年目?
• MVCは5人・・・
JavaEE
• ee4j– Eclipseに!
• MVCもリリースされる!
JavaOneセッションの傾向
• セッションの検索件数をカウント• aboutJava• aboutNextJava• aboutJVMLanguage• aboutMiddleware• aboutArchtecture• aboutBuzzword
aboutJava
• “java9”32• “jdk9”21• JavaEE57• jigsaw9• module17• VirtualMachine7• JShell5
Java9とくにモジュール関連が多い
aboutNextJava
• valhalla1• panama1• amber0• loom0• “java10”0• “jdk10”1
次のJavaの仕様についてのセッションがほぼない
aboutJVMLanguage
• groovy9• kotlin12• javascript32• Scala46– ほぼ”Scalable”・・・。タイトルは5件
Kotlin人気
aboutMiddleware
• sql18• spark14• ka]a11• cassandra5• mongodb1• Hadoop2• HBase1
Spark/Ka]aが人気。Hadoopは不人気というかインフラ化
aboutArchtecture
• reac^ve19• microservice162• serverless12• docker33• kubernetes20
みんなMicroserviceいいたいだけでは。Docker人気。
aboutBuzzword
• bigdata12• cloud273
– カテゴリ名に入っていたのでサーバーサイド系がすべてカウントされていた。タイトルには50程度。
• MachineLeaning19• Blockchain4• IoT16• raspberry5• VR3• gpu0• fpga0 機械学習人気
GPUセッションがなくなった
Javaが変わった
• OracleJDK->OpenJDK• 6ヶ月サイクルのリリース• モジュールごとの機能追加• 無償だと6ヶ月のメンテナンス期間– RedHatさんに期待
– もしくはお手ごろなプランを・・・・
• JavaEEがEclipseへ
hfps://access.redhat.com/ja/node/1457743
18.3にvarが入る
• 言語仕様すら6ヶ月でかわる• なにが変わるか事前に把握しづらい– リリース3ヶ月前のRampDownで確定
• なにが変わったか事後に把握しづらい• なにが動かせるか把握しづらい• どうすんの
ところで、varすでに試せます。
• すでにマージされているのでビルドすれば試せる– mercurialでcloneしてconfigure/make
• JShellで超便利• IDEは対応していない– varがあって補完がない世界より、補完があってvarがない世界のほうがはるかにつよい
hfp://hg.openjdk.java.net/jdk10/master
fnproject
• Java対応のサーバーレスフレームワーク• Dockerネイティブ
fnprojectは簡単に試せる
• ぜんぶDockerがやってくれる– これで試せる
$brewinstallfn$fnstart$mkdirsample$cdsample$fninit--run^mejava$fndeploy-appmyapp--local
demo
サーバーレスとJava
• サーバーレス– 要するにCGI– ゲートウェイだけが立っていてアプリケーションは
その都度プロセスを動かす– サーバー管理の必要性が低い– スケールアップが容易
• 多重化はしたいけど負荷はそう高くないみたいなところにいいかも– 企業規模が多ければ案外多いのでは
サーバーレスとJava
• Javaの欠点– プロセス起動が重い– 一度しか実行されないので実行時最適化が無駄• 最適化してる間に実行おわる• 最適化しても使われない
とうこともあると思って
• プロセス起動が重い– 読み込むクラスを減らす• モジュール化
• 実行時最適化が無駄– あらかじめ最適化• AOTやOpenJ9
JUnit5
• 再設計• だいぶ便利– Nested– Parameterize
おまけ
• 成田→福岡の飛行機の夜景がきれいでした
hfp://d.hatena.ne.jp/nowokay/20171025#1508893711
まとめ
• モジュールがJavaを変えた– Javaのコードの書き方は変わらない– Javaの中身が変わった– Javaの世界が変わった