エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

Java Day Tokyo 2018 参加報告

Java Day Tokyo 2018|日本オラクル

参加セッション

  • Java Day Tokyo 2018 基調講演
  • Java in a World of Containers
  • Project Valhalla
  • Java in Serverless Land
  • Java SE 10、そしてJava SE 11への移行ガイド

本当は、17:20-18:10は、Project Loom を見たかったけど、満員だから諦めた。。。

感想

Java Day Tokyo 2018 基調講演

去年と似た感じの流れ。
実績紹介からデモ、日本横断の内容紹介、JJUGの紹介で締めくくり。

聞いていて驚いたのは。JDK10日本語ドキュメントを公開したこと。

概要 (Java SE 10 & JDK 10 )

前聞いたときは、日本語を公開できるかは分からない的なことを言っていたと思うのだが、頑張ったんだな。

気になったのは、mission controlleのパフォーマンス測定のデモ。
見た感じ、かなりスッキリした感じの画面だったので、早めにキャッチアップしたい。

Java in a World of Containers

  • 今は無秩序な拡張がドンドン広まっている。環境はバラバラなものが多い。そんな時代だから、Javaは重要。
  • linuxのイメージサイズが、javaより少なくできる。
    • alpine linuxとか言ってたかな?
  • イメージを小さくするには、静的クラスの共有がネックになってくる。
  • 静的クラスを共有することで、プロセス間でデータを共有できる&スタートアップ時間の現象の恩恵が得られる。

linuxイメージが無茶苦茶小さくできることに驚いた。
要領で行ったら、50MBいかないくらいだから、ポケモンGoのアプリより少ないってことだぜ?
そう考えると、イメージを小さくするのは、かなり研究が進んでいる気がする。
小型化は日本の専売特許だと思っていたが、日本のプログラミング能力は低すぎやしないかと危機感を覚える。

Project Valhalla

  • 命名由来が、valhara が value type に似ているかららしい。。。
    厨二的な心を揺さぶる由来があるかと思ったのだが、ガッカリだよ。。。
  • Javaは、オブジェクト型だけにすればスッキリしたが、パフォーマンスの問題があったので、プリミティブ型が入った。
  • 従来のレイアウトは、メモリ使用量が多く、格納場所がメモリ上で離れた場所になる可能性があり、パフォーマンス劣化の可能性があった。当初はそんなに問題にならないだろうと思っていたとのことだが、予想に反して大きくなってきたので、今回の対応が入った。
  • クラスの構成がプリミティブ型に近いものになる。
  • 今回の対応で、クラスのような実装だが、intのように振る舞うようにするのが目標
  • 一番の問題はジェネリック
  • ジェネリック対応ができれば、プリミティブに特化したStreamは不要になる
    • 学習コストを減らせる
    • 余計なことを覚えなくていい
  • valharaはパフォーマンスメインだけど、使い勝手も良くなるはず
  • ジェネリックをどうやって実現するかは、悩んでいる状態。any型をいれるかどうかってのが話題になっているらしい。

プリミティブ特化のStreamが無くなるのは、喜ばしい。
あれ、いちいち面倒くさい変換したり、学習コストをかけるのは、ものすごい馬鹿らしかったからな。

Java in Serverless Land

Fnの紹介だったな。
翻訳機?を借りるのを忘れて、何を言っているのか、あんまり把握できなかった。。。
英語使えるようになりたいなぁ。。。

Java SE 10、そしてJava SE 11への移行ガイド

黒魔術で死にそうなJavaコードを動かそう的な感じだった。
できることなら使わないほうがいいですよってことだったから、内容はあんまり覚えてない。
だいたいコマンドラインオプションでどうにかするのが多かったが、java9からはモジュールの公開範囲の概念が入って、module-infoの扱いがネックになる気がしました。

思ったこと

jdepsがいたるところで耳に入ってきた。
受けたセッションがそれ系が多かったかも知れないが、今後、jdepsが重要なツールになりそうな気がする。
今年もクラウド推しが強い。
今後のスキルセットを考えたら、今のうちにクラウド系のサービスを利用しといたほうがいいかな?って思いました。

タスク

  • mission controlle
  • カスタムイメージを作ってみる
  • jdepsについて調査
  • fn試す
  • java11の情報収集