JavaOne2017で感じた、Javaのいまと未来 in 大阪

Post on 21-Jan-2018

872 Views

Category:

Engineering

1 Downloads

Preview:

Click to see full reader

Transcript

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の世界が変わった

top related