米Oracleは、「Java 16」を3月16日(現地時間)にリリースした。「Java 17」の提供は9月を予定しているが、早期アクセスビルドはすでに公開されている。
「Java 16」では、instanceof演算子によるパターンマッチングや、イミュータブルなデータの透過的なホルダーであるクラスをコンパクトな構文で宣言できるレコードが追加された。
また、ZGCスレッドスタック処理をセーフポイントから並行フェーズに移動することで、大きなヒープであってもGCセーフポイント内でミリ秒未満の一時停止を許可し、ZGCガベージコレクタにおけるレイテンシの原因を取り除くZGC並行スレッド処理に対応するとともに、未使用のHotSpot VMクラスメタデータメモリをより迅速にOSへ返すことで、メタスペースのフットプリントを削減するElasticメタスペースにおいて、メタスペースメモリをより小さなチャンクに割り当てることによって、クラスローダのオーバーヘッドと断片化を削減している。
さらに、ソケットチャネルおよびサーバソケットチャネルAPIへのUNIXドメイン(AF_UNIX)ソケットのサポートと、自己完結型のJavaアプリケーションをパッケージ化するパッケージングツールが追加されたほか、JDK 9以降に非推奨となった、値ベースのクラスに対する警告、JDKのすべての内部要素の強力なカプセル化、APIの初期反復を提供してサポートされているCPUアーキテクチャに最適なベクトルハードウェア命令にコンパイルするベクトル計算を出力するVector API、および静的に型指定されたネイティブコードへの純粋なJavaアクセスを提供するForeign Linker API(インキュベータ)などが追加された。
そのほかOpenJDKでは、C++14への対応、ソースコードリポジトリのMercurialからGitへの移行、Alpine LinuxやWindows/AArch64へのポーティングなどが行われている。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
- 
                    CodeZine編集部(コードジンヘンシュウブ) CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。 ※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です 

 
              
               
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                              
                               
                              
                               
                              
                               
                              
                               
                              
                               
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
															
														 
															
														.png) 
     
     
     
     
     
													 
													 
													 
													 
													 
										
									
 
                    