é·æãµããŒããªãªãŒã¹ JDK 21: æšæºJavaã®ä»åŸã®æ©èœãå ¬éããŸããã
æšæºçãªJavaã®é·æãµããŒããªãªãŒã¹ã§ããJDK 21ãã9æã«çºå£²ãããäºå®ã§ããäž»ãªæ©èœãšããŠãã·ãŒã±ã³ã·ã£ã«ã³ã¬ã¯ã·ã§ã³ãä»®æ³ã¹ã¬ãããæååãã³ãã¬ãŒããå€éšé¢æ°ãšã¡ã¢ãªAPIã®ãã¬ãã¥ãŒããããŸãã

æšæºçãªJavaã®é·æãµããŒããªãªãŒã¹ã§ããJava Development Kit (JDK) 21ã¯9æã«äºå®ãããŠãããã·ãŒã±ã³ã·ã£ã«ã³ã¬ã¯ã·ã§ã³ãä»®æ³ã¹ã¬ãããæååãã³ãã¬ãŒããå€éšé¢æ°ãšã¡ã¢ãªAPIïŒãã¬ãã¥ãŒçïŒãå«ãŸããäºå®ã§ãããããã®æ©èœã¯ãé«ã¹ã«ãŒãããã®åæå®è¡ã¢ããªã±ãŒã·ã§ã³ã®äœæããä¿å®ã»ç£èŠã«è³ããŸã§ãéçºè ã®çµéšãåäžãããããã«èšå®ãããŠããŸãã
JDK 21ã®ãªãªãŒã¹ããŒãžã«ã¯ãŸã æ£åŒã«èšèŒãããŠããŸããããå€åœé¢æ°ãšã¡ã¢ãªAPIã®ãã¬ãã¥ãŒã¯æè¿è¿œå ããããã®ãšæãããŸãããã®APIã¯ãJavaããã°ã©ã ãJavaã©ã³ã¿ã€ã ãè¶ ããã³ãŒããããŒã¿ãšã¹ã ãŒãºã«çžäºéçšããããšãå¯èœã«ããã倿¥é¢æ°ãšã®å¹ççãªéä¿¡ã倿¥ã¡ã¢ãªãžã®å®å šãªã¢ã¯ã»ã¹ãå¯èœã«ããJava Native InterfaceïŒJNIïŒãããããè匱æ§ããªã¹ã¯ãªãã«ãJavaããã°ã©ã ããã€ãã£ãã©ã€ãã©ãªãšå¯Ÿè©±ãããã€ãã£ãããŒã¿ãåŠçããåãäžããã
ãã®å€éšé¢æ°ããã³ã¡ã¢ãªAPIã¯ãæšå¹Ž3æã«ãªãªãŒã¹ãããJDK 20ããã³9æã«ãªãªãŒã¹ãããJDK 19ã§ãã¬ãã¥ãŒãããããšããããŸããä»åã®ãã¬ãã¥ãŒã§ã¯ãã¬ã€ã¢ãŠããã¹ã®æ¹åãArenaã€ã³ã¿ãŒãã§ã€ã¹ã§ã®ãã€ãã£ãã»ã°ã¡ã³ãã®å¯¿åœã®äžå 管çããã©ãŒã«ããã¯ãã€ãã£ããªã³ã«ãŒã®å®è£ ãVaListã®åé€ãªã©ã®æ©èœåŒ·åãè¡ãããŠããŸãããã®APIã®ç®æšã¯ã䜿ãããããããã©ãŒãã³ã¹ãæ±çšæ§ãå®å šæ§ã§ãããã ããJNIã眮ãæããããJNIã倿Žãããããããšãç®çãšããŠããŸããã
ããã¯è»œéãªã¹ã¬ããã§ãé«ã¹ã«ãŒãããã®äžŠè¡ã¢ããªã±ãŒã·ã§ã³ãäœæãç¶æã芳å¯ããéã®èª²é¡ãåçã«è»œæžããããšãæåŸ ãããŠããŸãããã®æ©èœã®èæ¯ã«ã¯ããµãŒããŒã»ã¢ããªã±ãŒã·ã§ã³ãæé©ãªããŒããŠã§ã¢å©çšã§å¹æçã«æ¡åŒµã§ããããã«ããããšãæ¢åã®lang.Thread APIã³ãŒãã«æå°éã®å€æŽãå ããŠä»®æ³ã¹ã¬ããã®æ¡çšãä¿é²ããããšãçŸåšã®JDKããŒã«ã§ä»®æ³ã¹ã¬ããã®ãããã°ãšãããã¡ã€ãªã³ã°ãç°¡çŽ åããããšããªã©ã®ç®çããããŸããJDK 21ã§ã¯ãä»®æ³ã¹ã¬ããã§ã¹ã¬ããããŒã«ã«å€æ°ãå®å šã«ãµããŒãããæ¢åã®ã©ã€ãã©ãªãšã®äºææ§ãé«ããã¿ã¹ã¯ããŒã¹ã®ã³ãŒããä»®æ³ã¹ã¬ããã䜿çšããããã«ç§»è¡ããã®ãæ¯æŽããããšãä¿èšŒããŸãã
ã·ãŒã±ã³ã¹ã»ã³ã¬ã¯ã·ã§ã³ã¯ãJDK 21ã«ä»éããããäžã€ã®æ©èœã»ããã§ãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãåã³ã¬ã¯ã·ã§ã³ãæç¢ºã«å®çŸ©ããã第1ããã³ç¬¬2ã®èŠçŽ ãæã€ãªã©ãæç¢ºãªééé åºãæã€ã³ã¬ã¯ã·ã§ã³ã衚çŸããããšãå¯èœã«ããŸããæåãšæåŸã®èŠçŽ ã«ã¢ã¯ã»ã¹ããèŠçŽ ã®åŠçé åºãé転ãããããšã容æã«ããçµ±äžãããAPIãæäŸãããŸããã³ã¬ã¯ã·ã§ã³ãã»ããããããã®ã·ãŒã±ã³ã¹ã€ã³ã¿ãŒãã§ãŒã¹ãå®çŸ©ããããšã§ãJavaã®ã³ã¬ã¯ã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ã®ã®ã£ãããåããé·å¹Žã®ãŠãŒã¶ãŒã®èŠæãæºããããšãç®çãšããŠããŸãã
æååãã³ãã¬ãŒãã¯ãJDK21ã®ãã¬ãã¥ãŒæ©èœãšããŠç»å ŽããJavaã®æ¢åã®æååãªãã©ã«ãšããã¹ããããã¯ã匷åãããªãã©ã«ããã¹ããåã蟌ã¿åŒãããã»ããµãšèåãããŠç¹æ®ãªçµæãçæããããã®æ©èœã®äž»ãªç®çã¯ãå®è¡æã«èšç®ãããå€ãå«ãæååãç°¡åã«è¡šçŸã§ããããã«ããããšã§ãJavaããã°ã©ãã³ã°ãç°¡çŽ åããããšã§ããæååãã³ãã¬ãŒãã¯ãåŒã®å¯èªæ§ãåäžãããããã°ã©ã ã®å®å šæ§ãé«ããæè»æ§ãç¶æããJava以å€ã®èšèªã§æžãããæååãåãå ¥ããAPIãšã®é£æºã容æã«ããããã«èšèšãããŠããŸãã
JDK 21ã®ãªãªãŒã¹èšç»æ¡ã§ã¯ã6æ8æ¥ãš7æ20æ¥ã®ã©ã³ãããŠã³ã®åŸãæ©èœãªã¹ãã¯åçµããããã®éããã°ãã£ãã¯ã¹ãç¶ç¶ãããŸãããã®åŸã8æ10æ¥ãš8æ24æ¥ã«åæãªãªãŒã¹åè£ãšæçµãªãªãŒã¹åè£ãçºè¡šããããã°ãã£ãã¯ã¹ãè¡ãããå¯èœæ§ããããŸããäžè¬æäŸã¯9æ19æ¥ã®äºå®ã§ãã
JDK 21ã¯é·æãµããŒãïŒLTSïŒãªãªãŒã¹ãšãªãã5幎éã®ãã¬ãã¢ãµããŒããš2031幎9æãŸã§ã®å»¶é·ãµããŒããæäŸãããäºå®ã§ããçŸåšã®LTSçã§ããJDK 17ã¯ã2021幎9æã«ãªãªãŒã¹ããããJDK 20ãJDK 19ãå«ãLTS以å€ã®ãªãªãŒã¹ã§ã¯ã6ã¶æéã®PremierãµããŒãã®ã¿ã§ãå»¶é·ãµããŒãã¯åããããŸããã
Oracle ã«ããæšæºJavaå®è£ ã¯6ã«æããšã«å ¬éãããJDK 21ã®æœåšçãªæ©èœã«ã¯ãJDK 20ã®ãã¹ãŠã®ã€ã³ãã¥ããŒãæ©èœãšãã¬ãã¥ãŒæ©èœãå«ãŸããŸãããããã¯ãã¹ã³ãŒãä»ãå€ãã¬ã³ãŒããã¿ãŒã³ãswitchæã®ãã¿ãŒã³ãããã®ã»ãããŠãããŒãµã«ãžã§ããªãã¯ã¹ãäžä»£Zã¬ããŒãžã³ã¬ã¯ã¿ãéåæã¹ã¿ãã¯ãã¬ãŒã¹VM APIãå å«ããå¯èœæ§ãããã AppMasterã® ãã㪠ããŒã³ãŒããããŒã³ãŒããã©ãããã©ãŒã ã® ãããªä»ã®æå 端ãã©ãããã©ãŒã ããJavaãã¯ãããžãŒã®ãããã®é²æ©ã®æ©æµãåããããšãã§ããŸãã


