LINEでは年に1回の海外カンファレンス補助があるので、ベルギーのDevoxxに来てます。
DevoxxはヨーロッパのJavaコミュニティで、ロンドンやパリなど各地でカンファレンスを行なっていますが、ベルギーが最大です。
毎年、Javaのびっくり発表がDevoxx Belgiumというイベントであるというのを認識していて気になっていたのですが、今回初めて来てみました。
今日はConference Daysの初日でキーノートから始まりました。
https://devoxx.be/wednesday-schedule/
今日聞いたのはキーノートの他に次のセッションですが、Spring BootをGraalVM Native Imageで動かすセッションが一番おもしろかったです。
- Abstractions Without Regret with GraalVM
- Developing Java applications leveraging the Quantum Internet
- Implementing a Simple JVM in Rust
- Running Spring Boot applications as GraalVM native images
- Understanding Low Latency JVM GCs
- Evolving Java for the Serverless Era with Micronaut
- What's coming in Scala 3
KeyNote
Conference Daysの初日ということで、キーノートから始まります。
キーノートは3つのセッションにわかれていました。
ところでDevoxx Belgiumは映画館で行われていて、各部屋300-500人くらい入る感じですが、キーノートで一気に数千人入るような部屋はありません。なので、一番大きい部屋でキーノートが行われて他の部屋に配信される感じになっています。
この部屋には話してる人いませんね。

この部屋にいました。

Welcome to Devoxx: practical info
最初のキーノートはDevoxxについての説明です。
Devoxxはヨーロッパを中心に活動するコミュニティで、年間21のイベントをやっていて、先週がウクライナで来週がモロッコらしい。
その中でも最大なのがこのベルギーで、今年は3300人の登録とのこと。去年3500人でめっちゃ混んでたから3300人で打ち止めたということらしい。
そして去年は4ヶ月でsold outだったのが、今年は10日でsold outだったとか。来年はもっと早くなる気がする。
抽選にするかどうかということを話していました。
The Hitchhiker’s Guide to Diversity (Don't panic!)
2番目のセッションはダイバーシティについて。
なのですが、途中で配信が切れてしまった・・・

「ゴスリンが話してくれたんだけどつないだ瞬間切れた」とか冗談を言ってましたが、4K対応したら電源が追いつかなくて落ちたということらしい。
Qualities of a Highly Effective Architect
よいアーキテクトがどうのというセッション。
パワポアーキテクトになってはいけない、という言葉が印象的

Abstractions Without Regret with GraalVM
GraalVMのセッション。
だけどやはりNative Imageが中心になりますね。
今月出る19.3でJava 11をサポートするそうな。

あとのSpringのセッションのほうが知らない情報でてたな。
Developing Java applications leveraging the Quantum Internet
JavaFXがんばってるJohan Vosさんの量子通信の話。

途中で覗き見とかが難しいのでセキュアだと。
SuperpositionとかEntanglementとか量子の話をしたあと、スイッチとか入れるの難しいよねという話をして、ただスイッチ作れれば通信ができていいってことを話してました。

そして、Javaでつくってる量子コンピュータシミュレータの紹介。
https://github.com/gluonhq/strange
Implementing a Simple JVM in Rust
RustでJVMを実装する話

GCは実装してないということなので、unit256_tさんがRustで作ったJVMのほうがGCもJITもあって実装が進んでますね。
会場への問いかけで、Rust使ってる人という質問には1/4くらいが手をあげてたのだけど、Rustをプロダクトで使ってる人という質問はだれも手をあげなかった。まあJavaイベントだからね。
簡単な実装をする上でのJVMのだいたいの仕組みというのがわかりやすくてよかった。

あとはRustでの実装の説明

Running Spring Boot applications as GraalVM native images
SpringをGraalVM Native Imageで動かす話

Java Buildpack Memory Calculatorというのを紹介していました。メモリ使用量やクラス数から最適なオプションを計算してくれるユーティリティなのかな。
https://github.com/cloudfoundry/java-buildpack-memory-calculator

Parallel GCはGraalVM EEに入るとか。

Native Imageに必要な設定などはSpring Graal Nativeを見ればいいぽい
https://github.com/spring-projects-experimental/spring-graal-native
Spring Boot 2.2ではCGLIBやProxyを使わないようにできるので、native imageに優しくなっているらしい。すごい。

あと、AOT用の工夫はJITでも有効だと言ってました。
相当がんばっとるな。
GraalVMチームと協力して開発をすすめているらしい。
Understanding Low Latency JVM GCs
G1GC、Shenandoah、ZGC、C4の説明のセッション。

GCの使い分けのまとめ。しかし、ZGCはWindows対応するっぽいので、Windowsならってとこは変わりそう。

しかし、話とともにちょっとずつ資料を表示するスタイルで疲れた・・・
GC使い分けとか、ちょっとずつ出されても・・・みたいな。
Evolving Java for the Serverless Era with Micronaut
Micronautのセッションなんだけど、初日に聞いたセッションの一部ぽいので途中退出。

What's coming in Scala 3
ということでScala 3のセッションに。

Scalaようわからんけど、楽しそうでした。
Meet & Greet in exhibition floor until 20h30
今日は会場でビールがでました。
ブロンド系なんだけど、銘柄まではわからず。ベルギービールを当てるのは種類が多すぎるし日本で飲みにくいものも多いので相当難しい・・・

今日のビール
で、ホテルに戻って、気になっていたDuvelの看板がでている店に。

ボトルかよ、という気持ちw

そして、料理もない店でした。。。まあ4Eurでお釣りが来るくらい安くていいのだけど。ビールだけ出て料理は出ない店が結構多いふいんき。
いつもどおりノンアルヒューガルデンを買って・・・と思ったら、ふつうのヒューガルデンだった。

夜のアントワープ駅もきれい。

聞かなかったセッション
ついでに、聞きたいけど裏番組だったりで聞かなかったのをまとめておきます。
Project Loom: Helping Write Concurrent Applications on the Java Platform
Quarkus why, how and what by Emmanuel Bernard
Java on ARM Theory, Applications and Workloads
Your Program as a Transpiler: Applying Compiler Design to Everyday Programming