Oracleã¯6ã¶æã®éçºæéãçµãŠããªãŒãã³ãœãŒã¹ã®OpenJDKãããžã§ã¯ãããªãã¡ã¬ã³ã¹å®è£ ãšããŠæ¡çšããJava SE 27ïŒJava Platform, Standard Edition 27ïŒããªãªãŒã¹ããŸãããäžéšã®éæšå¥šæ©èœã®åé€ãé€ããJava SE 27ã¯Javaãã©ãããã©ãŒã ã®ä»¥åã®ãªãªãŒã¹ãšã®äžäœäºææ§ãç¶æããŠããã以åã«äœæãããã»ãšãã©ã®Javaãããžã§ã¯ãã¯æ°ããããŒãžã§ã³ã§å®è¡ããŠã倿ŽãªãåäœããŸããJava SE 27ïŒJDKãJREãããã³Server JREïŒã®ã€ã³ã¹ããŒã«æºåæžã¿ãã«ãã¯ã Linux (x86_64ãAArch64) Windows (x86_64) ããã³ macOS (x86_64ãAArch64)ãOpenJDKãããžã§ã¯ãã«ãã£ãŠéçºãããJava SE 27ãªãã¡ã¬ã³ã¹å®è£ ã¯ãGPLv2ã©ã€ã»ã³ã¹ã®äžã§å®å šã«ãªãŒãã³ãœãŒã¹ã§ãããåçšè£œåãšã®åçãªã³ã¯ãå¯èœã«ããGNU ClassPathäŸå€ãåããŠããŸãã
Java SE 27 ã¯éåžžã®ãµããŒããªãªãŒã¹ã«åé¡ãããæ¬¡ã®ãªãªãŒã¹ãŸã§ã¢ããããŒããæäŸãããŸããé·æãµããŒã (LTS) ãã©ã³ã㯠Java SE 25ãJava SE 21ããŸã㯠Java SE 17 ã§ããããããã 2033 幎ã2031 幎ã2029 幎ãŸã§ã¢ããããŒããæäŸãããŸã (äžè¬çã«ã¯ 2030 幎 9 æã2028 幎ã2026 幎ãŸã§å©çšå¯èœã§ã)ãJava SE 8 LTS ãã©ã³ãã®æ¡åŒµãµããŒã㯠2030 幎ãŸã§ãJava SE 11 ã®æ¡åŒµãµããŒã㯠2032 幎ãŸã§ç¶ç¶ãããŸãã
Java SE 27 (1, 2, 3, 4) ã®å€æŽç¹ã¯ä»¥äžã®ãšããã§ãã
- ããã©ã«ãã§ã¯ããã¹ãŠã®ç°å¢ã§ã以åã¯ãµãŒããŒã·ã¹ãã ã§äœ¿çšãããŠããG1ïŒGarbage-FirstïŒã¬ããŒãžã³ã¬ã¯ã¿ã䜿çšãããŸããG1ã¯ã倧容éã¡ã¢ãªãæèŒãããã«ãããã»ããµã·ã¹ãã ã§ã®äœ¿çšãšãäºæž¬å¯èœãªã¬ã€ãã³ã·ãšé«ãã¹ã«ãŒãããã®ãã©ã³ã¹ãåãããšã«æé©åãããŠããŸããG1ã¯åäœäžã«ã¡ã¢ãªã倿°ã®å°ããªé åã«åå²ããæªäœ¿çšãªããžã§ã¯ããå€ããã¢ã¯ãã£ãã«ã¢ã¯ã»ã¹ãããããŒã¿ãå°ãªãé åãåªå ããŸãã
- HotSpot JVMã¯ããã©ã«ãã§ã³ã³ãã¯ããªããžã§ã¯ãããããŒã䜿çšããŸãã64ãããã·ã¹ãã ã§ã¯ãããããŒãµã€ãºã96ããããã64ãããã«çž®å°ãããã¡ã¢ãªæ¶è²»éãåæžãããããŒã¿ãããã»ããµãã£ãã·ã¥ã«ãããããå¯èœæ§ãé«ãŸããŸãããSPECjbb2015ãã³ãããŒã¯ã§ã¯ãã¡ã¢ãªæ¶è²»éã22%ãCPUè² è·ã8%ãã¬ããŒãžã³ã¬ã¯ã·ã§ã³æäœã®åæ°ã15%æžå°ããŸãããJSONããŒãµãŒã®ãã¹ãå®è¡æéã10%ççž®ãããŸããã
- TLS 1.3 ã®å®è£ ã§ã¯ãéåèæ§ ML-KEM (CRYSTALS-Kyber) ã¢ã«ãŽãªãºã ãšåŸæ¥ã® ECDHE æ¥åæ²ç·ã¢ã«ãŽãªãºã ãçµã¿åããããã€ããªããéµåæã¹ããŒã ã®ãµããŒãã远å ãããŸãããå ·äœçã«ã¯ãX25519MLKEM768 (X25519 æ²ç·ã䜿çšãã ECDHE + ML-KEM-768)ãSecP256r1MLKEM76 (secp256r1 æ²ç·ã䜿çšãã ECDHE + ML-KEM-768)ãSecP384r1MLKEM1024 (secp384r1 æ²ç·ã䜿çšãã ECDHE + ML-KEM-1024) ã§ãããã㯠javax.net API ã§å©çšã§ããŸããSSL ãããã®ã¹ããŒã ã¯ããã©ã«ãã§æå¹ã«ãªã£ãŠããã䜿çšããããã«ã¢ããªã±ãŒã·ã§ã³ã倿Žããå¿ èŠã¯ãããŸããã
- ããã©ãŒãã³ã¹ç£èŠããããã¡ã€ãªã³ã°ã蚺æã«äœ¿çšãããããŒã«ã§ããJDK Flight RecorderïŒJFRïŒã¯ãä¿åãããèšºææ å ±ã«ãããŠãã³ãã³ãã©ã€ã³åŒæ°ãç°å¢å€æ°ã®åæå€ãããã³ã·ã¹ãã ããããã£ããµãã¿ã€ãºããæ©èœããµããŒãããããã«ãªããŸããããã®å€æŽã«ãããç°å¢å€æ°ãä»ããŠæž¡ãããèªèšŒããŒã¯ã³ãAPIã¢ã¯ã»ã¹ããŒãªã©ããããã¡ã€ã«å¯Ÿè±¡ããã»ã¹ã«ãã£ãŠåŠçãããæ©å¯ããŒã¿ã®æŒæŽ©ãé²ãããšãã§ããŸãã
- Lazy Constants API ã® 3 çªç®ã®ãã¬ãã¥ãŒãå®è£ ãããJVM ã§å®æ°ãšããŠæ±ãããäžå€ããŒã¿ãå«ããªããžã§ã¯ããæäœã§ããããã«ãªããŸããããã®ãããªãªããžã§ã¯ãã«ã¯ããfinalãããŒã¯ãŒããæã€ãã£ãŒã«ããšåæ§ã®ããã©ãŒãã³ã¹æé©åãé©çšãããŸãããfinalããšã¯ç°ãªããæ°ãã API ã¯å®æ°å€ã®äœæãšåæåãåé¢ããå€ãäžåºŠã ãåæåãããããšãä¿èšŒããããã°ã©ã ã®èµ·åæéãççž®ãããããŸã§ JDK å éšã³ãŒãã§ã®ã¿äœ¿çšãããŠãã宿°ç³ã¿èŸŒã¿æé©åããŠãŒã¶ãŒã³ãŒãã§äœ¿çšã§ããããã«ããŸãã class Application { // 以å: // static final UserService USERS = new UserService(); // çŸåš: static final StableValue USERS = StableValue.of(); public static UserService users() { return USERS.orElseSet(UserService::new); } }
- ãã¿ãŒã³ãããã³ã°ãšã³ãžã³ã¯ãããããçš®é¡ã®ãã¿ãŒã³ãinstanceofæŒç®åãããã³switchãããã¯ã§ããªããã£ãåïŒintãbyteãcharãããã³ãã®ä»ã®éãªããžã§ã¯ãåºæ¬åïŒã䜿çšããæ©èœã®ç¬¬5ãã©ãããå°å ¥ããŸãã switch (x.getStatus()) { case 0 -> "okay"; case 1 -> "warning"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { ⊠b ⊠}
- è€æ°ã®ã¹ã¬ããã§å®è¡ãããã¿ã¹ã¯ãåäžã®åäœãšããŠæ±ãããšã§ãã«ãã¹ã¬ããã¢ããªã±ãŒã·ã§ã³ã®éçºãç°¡çŽ åãããæ§é å䞊è¡åŠçAPIã®ç¬¬7çããã¹ãçšã«å ¬éãããŸããã
- Vector APIã®12çªç®ã®ãã¹ãå®è£ ãå®è£ ãããŸããããã®APIã¯ãx86_64ããã³AArch64ããã»ããµã®ãã¯ãã«åœä»€ã䜿çšããŠå®è¡ããããã¯ãã«èšç®ã®ããã®é¢æ°ãæäŸããè€æ°ã®å€ã«å¯ŸããåææŒç®ïŒSIMDïŒãå¯èœã«ããŸããHotSpot JITã³ã³ãã€ã©ã®ã¹ã«ã©ãŒæŒç®ã®èªåãã¯ãã«åãšã¯ç°ãªãããã®æ°ããAPIã§ã¯ã䞊åããŒã¿åŠçã®ããã®ãã¯ãã«åãæç€ºçã«å¶åŸ¡ã§ããŸãã
- æå·éµãèšŒææžãããã³èšŒææžå€±å¹ãªã¹ããå«ããªããžã§ã¯ããPEMïŒãã©ã€ãã·ãŒåŒ·åã¡ãŒã«ïŒåœ¢åŒã§ãšã³ã³ãŒãããã³ãã³ãŒãããããã®APIã®ç¬¬3çãå©çšå¯èœã«ãªããŸããã
ããã«ãã°ã©ãã£ã«ã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®JavaFX 27ãã©ãããã©ãŒã ã®ã¢ããããŒãçããªãªãŒã¹ããããšããç¥ããããããŸããJavaScriptïŒNode.jsïŒãPythonãRubyãRãããããJVMèšèªïŒJavaãScalaãClojureãKotlinïŒãããã³LLVMãããã³ãŒããçæã§ããèšèªïŒCãC++ãRustïŒã§ã®ã¢ããªã±ãŒã·ã§ã³å®è¡ããµããŒãããæ±çšä»®æ³ãã·ã³GraalVM 27ããæ°æé以å
ã«ãªãªãŒã¹ãããäºå®ã§ãã
åºæïŒ ãªãŒãã³ããã.ru
