開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2019/10/25

Java 13でどこが変わった? 新機能や改善点まとめ

オラクルは「Java 13」をサンフランシスコで開催したイベント「Oracle Code One 2019」で発表。9月18日に正式リリースされました。

新野淳一(本記事は「Publickey」より転載)

新野淳一(本記事は「Publickey」より転載)

ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディアPublickeyを開始。現在に至る。

photo
Java 13のDukeは、クラウドの波に乗る「Cloud Surfer Duke」とのこと

 2017年9月に登場したJava 9以降、Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるメジャーアップデートが行われています。Java 13は、今年3月に登場したJava 12に続くメジャーアップデートです。

 Java 13のおもな新機能は、Application Class-Data Sharing機能を拡張した「Dynamic CDS Archives(JEP 350)」、ZGCガベージコレクタを改善し使われていないヒープメモリを返却する「ZGC: Uncommit Unused Memory(JEP 351)」、Project Loomの一部として既存のSocket APIを再実装した「Reimplement the Legacy Socket API(JEP 353)」、Switch式を可能にする「Switch Expressions(JEP 354)」(プレビュー)、Javaコード中にテキストとしてリテラルを記述できる「Text Blocks(JEP 355)」(プレビュー)など。


 Text Blocksについて。例えばHTMLを生成するためのコードとしてテキストを埋め込む場合、次のように記述する必要がありました。

photo

 コードとして読みにくく、またバグが入り込みやすくもあります。

 Text Blocksによって、下記のようにコードが読みやすくなり、コード中にHTMLをコピー&ペーストできるようになります。

photo

 しかもHTMLの部分の先頭に入っているスペースについては、Javaのコンパイラがどれが不要なスペースで、どれが必要かを判断して自動的に除去してくれるため、上記の図のグレイのドットで示された空白は自動的に除去されます。

【次ページ】Javaランタイムでの性能向上

オープンソースソフトウェア ジャンルのトピックス

オープンソースソフトウェア ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!