XNUMX ãæã®éçºæéãçµãŠãOracle
Java SE 15 ã¯äžè¬ãµããŒã ãªãªãŒã¹ãšããŠåé¡ãããŠããã次ã®ãªãªãŒã¹ãŸã§æŽæ°ãåãåãç¶ããŸãã Long Term Support (LTS) ãã©ã³ã㯠Java SE 11 ã§ããå¿ èŠãããã2026 幎ãŸã§ã¢ããããŒããåãåãç¶ããŸãã Java 8 ã®ä»¥åã® LTS ãã©ã³ãã¯ã2020 幎 2021 æãŸã§ãµããŒããããŸãã 次åã® LTS ãªãªãŒã¹ã¯ 10 幎 XNUMX æã«äºå®ãããŠããŸãã Java XNUMX ã®ãªãªãŒã¹ä»¥éããããžã§ã¯ãã¯æ°ããéçºããã»ã¹ã«åãæ¿ãããæ°ãããªãªãŒã¹ã®åœ¢æãµã€ã¯ã«ãççž®ãããããšãæå³ããŠããããšãæãåºããŠãã ããã æ°ããæ©èœã¯ãåžžã«æŽæ°ããã XNUMX ã€ã®ãã¹ã¿ãŒ ãã©ã³ãã§éçºãããããã«ãªããŸãããããã«ã¯æ¢è£œã®å€æŽãå«ãŸããŠãããæ°ãããªãªãŒã¹ãå®å®ãããããã« XNUMX ãæããšã«ãã©ã³ããããã©ã³ããäœæãããŸãã
ã®
-
å èµ EdDSA (Edwards-Curve Digital Signature Algorithm) ããžã¿ã«çœ²åäœæã¢ã«ãŽãªãºã ã®ãµããŒãRFC 8032 ïŒã ææ¡ãããŠãã EdDSA å®è£ ã¯ããŒããŠã§ã¢ ãã©ãããã©ãŒã ã«äŸåããããµã€ããã£ãã«æ»æããä¿è·ãããŠãã (ãã¹ãŠã®èšç®ã«äžå®ã®æéãä¿èšŒãããŸã)ãåãã¬ãã«ã®ä¿è·ãåãã C èšèªã§æžãããæ¢åã® ECDSA å®è£ ãããããã©ãŒãã³ã¹ãé«éã§ãã ããšãã°ã126 ããã ããŒã®æ¥åæ²ç·ã䜿çšãã EdDSA ã¯ãsecp256r1 æ¥åæ²ç·ãš 128 ããã ããŒã䜿çšãã ECDSA ãšåæ§ã®ããã©ãŒãã³ã¹ã瀺ããŸãã -
è¿œå ãã ã·ãŒã«ãããã¯ã©ã¹ãšã€ã³ã¿ãŒãã§ã€ã¹ã®å®éšçãªãµããŒããä»ã®ã¯ã©ã¹ãšã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ãç¶æ¿ãæ¡åŒµããŸãã¯ãªãŒããŒã©ã€ãããããã«äœ¿çšããããšã¯ã§ããŸããã ã·ãŒã«ãããã¯ã©ã¹ã¯ãæ¡åŒµãèš±å¯ããããµãã¯ã©ã¹ãæ瀺çã«ãªã¹ãããããšã«åºã¥ããŠãã¢ã¯ã»ã¹ä¿®é£Ÿåãããã¹ãŒããŒã¯ã©ã¹ã®äœ¿çšãå¶éããããã®ãã宣èšçãªæ¹æ³ãæäŸããŸããããã±ãŒãž com.example.geometry;
public sealed ã¯ã©ã¹ 圢ç¶
com.example.polar.Circle ãèš±å¯ããŸãã
com.example.quad.Rectangleã
com.example.quad.simple.Square {âŠ} -
è¿œå ãã ä»ã®ã¯ã©ã¹ã®ãã€ãã³ãŒãã§ã¯çŽæ¥äœ¿çšã§ããªãé ãã¯ã©ã¹ã®ãµããŒãã é ãã¯ã©ã¹ã®äž»ãªç®çã¯ãå®è¡æã«ã¯ã©ã¹ãåçã«çæããããããéæ¥çã«äœ¿çšãããã¬ãŒã ã¯ãŒã¯ã§äœ¿çšããããšã§ããåå° ã éåžžããã®ãããªã¯ã©ã¹ã®ã©ã€ããµã€ã¯ã«ã¯éãããŠãããããéçã«çæãããã¯ã©ã¹ããã¢ã¯ã»ã¹ã§ããããã«ã¯ã©ã¹ãç¶æããããšã¯æ£åœåããããã¡ã¢ãªæ¶è²»éã®å¢å ã«ã€ãªããã ãã§ãã ãŸããé衚瀺ã¯ã©ã¹ã«ãããå°æ¥åé€ãããäºå®ã®éæšæº API sun.misc.Unsafe::defineAnonymousClass ãå¿ èŠãªããªããŸãã - ZGC (Z Garbage Collector) ã¬ããŒãž ã³ã¬ã¯ã¿ãŒã¯å®å®åããŠãããåºã䜿çšããæºåãã§ããŠãããšèªèãããŠããŸãã ZGC ã¯ããã·ã ã¢ãŒãã§åäœããã¬ããŒãž ã³ã¬ã¯ã·ã§ã³ã«ããé 延ãå¯èœãªéãæå°éã«æããŸã (ZGC 䜿çšæã®ã¹ããŒã«æé㯠10 ããªç§ãè¶ ããŸãã)ãæ°çŸã¡ã¬ãã€ãããæ°ãã©ãã€ããŸã§ã®ãµã€ãºã®å°ããããŒããšå·šå€§ãªããŒãã®äž¡æ¹ã§åäœã§ããŸãã
- å®å®åãããäžè¬çã«äœ¿çšã§ããç¶æ
ã«ããããšãå€æ
ã¬ããŒãžã³ã¬ã¯ã¿ãŒã·ã§ãã³ã㢠ãæå°éã®äžæåæ¢ã§åäœããŸã (äœäžæåæ¢æéã¬ããŒãž ã³ã¬ã¯ã¿ãŒ)ã Shenandoah 㯠Red Hat ã«ãã£ãŠéçºãããJava ã¢ããªã±ãŒã·ã§ã³ã®å®è¡ãšäžŠè¡ããŠã¯ãªãŒã³ã¢ãããå®è¡ããããšã§ã¬ããŒãž ã³ã¬ã¯ã·ã§ã³äžã®ã¹ããŒã«æéãççž®ããã¢ã«ãŽãªãºã ã䜿çšããŠããããšã§æ³šç®ã«å€ããŸãã ã¬ããŒãž ã³ã¬ã¯ã¿ãŒã«ãã£ãŠçºçããé 延ã®ãµã€ãºã¯äºæž¬å¯èœã§ãããããŒãã®ãµã€ãºã«ã¯äŸåããŸããã ããŒãã 200 MB ãš 200 GB ã®å Žåãé 延ã¯åãã«ãªããŸã (åºãŠããªã㧠50 ããªç§ãè¶ ããé垞㯠10 ããªç§ä»¥å ïŒã - ãµããŒããå®å®ããèšèªã«å°å
¥ãããŸãã
ããã¹ãããã㯠â æåãšã¹ã±ãŒãã䜿çšããããããã¯å ã®ããã¹ãã®å ã®æžåŒãä¿æããã«ããœãŒã¹ ã³ãŒãã«è€æ°è¡ã®ããã¹ã ããŒã¿ãå«ããããšãã§ããæ°ãã圢åŒã®æååãªãã©ã«ã ãããã¯ã¯ XNUMX ã€ã®äºéåŒçšç¬Šã§å²ãŸããŠããŸããããšãã°ãã³ãŒãã®ä»£ããã«
æååhtml = " » +
"\n\t" + " » +
"\n\t\t" + " ãJava 1 ãç»å ŽããŸãã!ã » +
"\n\t" + " » +
"\n" + " ";次ã®ããã«æå®ã§ããŸãã
æååhtml = """
»Java 1\
ããã«ããïŒ
"""; -
åèšèšããã ã¬ã¬ã·ãŒ DatagramSocket APIã java.net.DatagramSocket ããã³ java.net.MulticastSocket ã®å€ãå®è£ ã¯ããããã°ãšä¿å®ã容æã§ããããžã§ã¯ãå ã§éçºãããä»®æ³ã¹ããªãŒã ãšãäºææ§ã®ããææ°ã®å®è£ ã«çœ®ãæããããŸãããç¹æ© ã æ¢åã®ã³ãŒããšäºææ§ããªãå¯èœæ§ãããå Žåãå€ãå®è£ ã¯åé€ãããŠãããã jdk.net.usePlainDatagramSocketImpl ãªãã·ã§ã³ã䜿çšããŠæå¹ã«ããããšãã§ããŸãã - XNUMX çªç®ã®å®éšçå®è£
ãææ¡ãããŸãã
ãã¿ãŒã³ãããã³ã° ãinstanceofãæŒç®åã§ããã䜿çšãããšããã§ãã¯ãããå€ã«ã¢ã¯ã»ã¹ããããã®ããŒã«ã«å€æ°ãããã«å®çŸ©ã§ããŸãã ããšãã°ããString s = (String) objããæ瀺çã«å®çŸ©ããã«ããif (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}ããããã«æžãããšãã§ããŸããããã¯æ¬¡ã®ãšããã§ãã
if (ã°ã«ãŒãã®ãªããžã§ã¯ãã€ã³ã¹ã¿ã³ã¹) {
ã°ã«ãŒã group = (ã°ã«ãŒã) obj;
varãšã³ããªãŒ = group.getEntries();
}ããã§ããGroup group = (Group) objããšããå®çŸ©ãçç¥ã§ããŸãã
if (ã°ã«ãŒãã°ã«ãŒãã®ãªããžã§ã¯ãã€ã³ã¹ã¿ã³ã¹) {
varãšã³ããªãŒ = group.getEntries();
} -
ææ¡ããã ããŒã¯ãŒãããã® XNUMX çªç®ã®å®éšçå®è£èšé² ããã«ãããã¯ã©ã¹ãå®çŸ©ããããã®ã³ã³ãã¯ããªåœ¢åŒãæäŸãããåäœãå€ãããªããã£ãŒã«ãã«ã®ã¿ããŒã¿ãæ ŒçŽãããå Žåã«ãequals()ãhashCode()ãtoString() ãªã©ã®ããŸããŸãªäœã¬ãã« ã¡ãœãããæ瀺çã«å®çŸ©ããå¿ èŠããªããªããŸãã ã¯ã©ã¹ããequals()ãhashCode()ãããã³ toString() ã¡ãœããã®æšæºå®è£ ã䜿çšããå Žåãæ瀺çã«å®çŸ©ããªããŠãå®è¡ã§ããŸããå ¬éã¬ã³ãŒã BankTransaction(LocalDate æ¥ä»ã
åé¡
æååã®èª¬æ) {}ãã®å®£èšã«ãããã³ã³ã¹ãã©ã¯ã¿ãŒ ã¡ãœãããšã²ãã¿ãŒ ã¡ãœããã«å ããŠãequals()ãhashCode()ãããã³ toString() ã¡ãœããã®å®è£ ãèªåçã«è¿œå ãããŸãã
-
ææ¡ããã å€éšã¡ã¢ãª ã¢ã¯ã»ã¹ API ã® XNUMX çªç®ã®ãã¬ãã¥ãŒãããã«ãããJava ã¢ããªã±ãŒã·ã§ã³ã¯ãæ°ãã MemorySegmentãMemoryAddressãããã³ MemoryLayout æœè±¡åãæäœããããšã§ãJava ããŒãã®å€åŽã®ã¡ã¢ãªé åã«å®å šãã€å¹ççã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã -
ç¡å¹ ãŸããããã¯ã®ãªãŒããŒããããåæžããããã« HotSpot JVM ã§äœ¿çšãããŠãããã€ã¢ã¹ ããã¯æé©åææ³ãéæšå¥šã«ãªããŸããã ãã®ææ³ã¯ãææ°ã® CPU ã«ãã£ãŠæäŸãããã¢ãããã¯ãªåœä»€ãåããã·ã¹ãã ãšã®é¢é£æ§ã倱ãããŠããããã®è€éãã®ããã«ä¿å®ããã«ã¯å€å€§ãªåŽåãèŠããŸãã -
çºè¡šãããŸãã æ代é ãã®ã¡ã«ããºãRMIã®ã¢ã¯ãã£ããŒã·ã§ã³ ãããã¯å°æ¥ã®ãªãªãŒã¹ã§åé€ãããäºå®ã§ãã RMI ã¢ã¯ãã£ããŒã·ã§ã³ã¯æ代é ãã§ãJava 8 ã®ãªãã·ã§ã³ã®ã«ããŽãªã«è¿œãããããŠãããçŸä»£ã®å®è·µã§ã¯ã»ãšãã©äœ¿çšãããŠããªãããšã«æ³šæããŠãã ããã -
åé€ãããŸãã JavaScriptãšã³ãžã³ãã·ã§ãŒã³ ããã㯠Java SE 11 ã§éæšå¥šã«ãªããŸããã -
åé€ãããŸãã Solaris OS ããã³ SPARC ããã»ããµ (Solaris/SPARCãSolaris/x64ãããã³ Linux/SPARC) çšã®ããŒãã ãããã®ããŒããåé€ãããšãã³ãã¥ããã£ã¯ Solaris ããã³ SPARC åºæã®æ©èœã®ä¿å®ã«æéãç¡é§ã«ããããšãªããæ°ãã OpenJDK æ©èœã®éçºãå éã§ããããã«ãªããŸãã
åºæïŒ ãªãŒãã³ããã.ru