新野淳一(本記事は「Publickey」より転載)
新野淳一(本記事は「Publickey」より転載)
ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディアPublickeyを開始。現在に至る。
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を生成するためのコードとしてテキストを埋め込む場合、次のように記述する必要がありました。
コードとして読みにくく、またバグが入り込みやすくもあります。
Text Blocksによって、下記のようにコードが読みやすくなり、コード中にHTMLをコピー&ペーストできるようになります。
しかもHTMLの部分の先頭に入っているスペースについては、Javaのコンパイラがどれが不要なスペースで、どれが必要かを判断して自動的に除去してくれるため、上記の図のグレイのドットで示された空白は自動的に除去されます。
【次ページ】Javaランタイムでの性能向上