Java
Java9
Java10
JPMS
java9+

Java 9+ (Java 9以降の総称) の適用状況について、JCP (Java Community Process ) EC (Executive Committee)が、6月中旬から7月中旬にかけて、アンケート調査を行いました。


調査結果

回答数は約750で、結果は以下の通りです。(Q1とQ2は複数選択なので、足すと100%超えます)


Q1: 開発環境でどのバージョンのJavaを使用していますか?

Q1.png


Q2: 運用環境でどのバージョンのJavaを使用していますか?

Q2.png


Q3: Java 9+ を使わない理由は?

自由回答で、440のコメント。


Q4: Auto-Module-Nameを使用していますか?

Q4.png


Q5: module-info.javaを使用していますか?

Q5.png


回答分析


Q1/Q2

Q1とQ2の違いは、開発環境と運用環境の違いですが、結果はおおよそ同じ傾向です。「現在使用中」の結果から、Java 9/10の適用は、1割前後にとどまっています。また、「使用しない」の結果から、Java 9/10への移行は3割くらいにとどまることになります。Java 11を「使用しない」も4割近くあり、当面は、Java 8の使用が主流になると考えられます。


Q3

Q3では、Java 9+を使用しない理由(自由記述)を聞いています。理由を大別すると、次の2つになります。

  (A) LTS(長期サポート)でない

(B) JPMS(Jigsaw)の否定

(A)は、Java 9/10を使用しない理由にはなりますが、Q1/Q2で、Java 11を「使用しない」という回答も少なからずあり、その理由は(B)の方だと考えられます。

(B)は、さらに、以下に分類されます。

  (B-1) 使用しているライブラリがJPMS対応していない

(B-2) 使用しているアプリケーションサーバがJPMS対応していない
(B-3) 非互換が大きい
(B-4) 複雑、難しい、必要性がない


Q4/Q5

Q4/Q5は、Java 9+を使用している人への質問ですが、Java 9+を使ってはいるが、JPMSを活用している人は少数にとどまっていると考えられます。