少し遅れていますが、木曜日にJava Day 2018を参加したので、その感想をここに記しておきたいと思います。
正午にオフィスビルから出ると、外は抜けるような晴天でした。既に初夏に入ったが、今日は比較的涼しいほうでした。
お昼は同僚の薦めで久しぶりに刀削麺の店に行くことにしました。私はマーラー刀削麺を頼んだが、同僚は麻婆豆腐にしました。
私は中国湖南省(湖南料理は中国で一番辛い料理ともいわれる)の出身とはいえ、辛い物には弱くて、よく友人に「偽湖南人」と言われます。そのため、辛い物を注文すると、いつもドキドキで、今日は食べれるかなと不安に思います。今日は汗をかきながらではあるが、普通にいけました。逆に普段に辛い物に強い同僚のほうが辛すぎで麻婆豆腐を半分食べ残しました。同じマーナー系なのに、なぜそれほど辛さが違うか、一瞬もう「偽湖南人」にはもう言わんぞと思うほどでした。これから参加する「Java Day 2018」もこのマーナー味と同じように熱ければいいですね。
会場のシェラトン都ホテル東京についたら、もう2時過ぎで、2時からのセッションも既に開始されました。Java Dayは何年ぶりの参加ですが、過去に比べ、規模もスポンサー数も縮小している第一印象でした。Oracle社がJDKの開発を手放しして以来、一時期Javaの終焉ではと話題を呼びました。やはりOracle社も昔ほどJavaに精力を掛けなくなるかな。
Java EE 8 and now Jakarta EE
JAX-RS、JSON、Servlet4.0、HTTP/2、JSF2.3、CDI2.0、BeanValidation2.0などいろいろ紹介されましたが、あんまり新鮮さが多くない感じでした。
製品開発の関係で、JSON Pointer/JSON Patch/JSON Bindingに興味がありましたが、ほかの方のJSON処理のBenchmark結果では、javax-jsonがさえない結果でした。
そもそもJavaEE8を対応しているApplication Serverはまだかなり少なく、JavaEEもEclipse Foundationに移管されて、「Jakarta EE」という新ブランド名で再スタートとなりますが、これからの道筋がどうなるか気になりますね。
Java in Serverless Land
Fn Projectというオープンソースのプロジェクトが紹介されました。
Fn Projectのホームページには以下のように記しています。
「The Fn project is an open-source container-native serverless platform that you can run anywhere -- any cloud or on-premise. It’s easy to use, supports every programming language, and is extensible and performant. 」
Fn Projectはサーバレスアーキテクチャをさらに進化させたものと言われるFaaS(Function-as-a-Service)システムを提供する目的で、今後注目しておきたいですね。
Get ready for a cloud native, service-meshed Java EE
KubernetesとIstioで管理するアプリケーションのメッシュにJava EEをどう融合させるかを紹介されました。
業務システムもどんどんクラウド化される昨今では、Javaも如何にクラウドを対応するか、Javaの将来の発展に関わるもので重要なポイントとなります。
Performance tuning with poor tools and cheap drink
JPDM(Java Performance Diagrostic Model)を紹介されました。
VisualVMなどを利用して、JVMの動きを可視化し、アプリケーションのパフォーマンスのボトルネックを特定することやプログラムを改良するテクニックのデモも実施されました。
- synchronizedによる同期化のスコープをなるべく小さくする(当然ですが)
- Collections.synchronizedMapでMapをスレッドセーフにするよりConcurrentHashMapを使う方がパフォーマンスがよい
- HashMapのキーとして、複数の文字列を連結(firstName + familyName)することより、複合キークラスを作成したほうがパフォーマンスがよい
周@ソフトシンク