Copyright ? 2008-2022 ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾ ¾©ICP±¸14017781ºÅ-1
¾©¹«Íø°²±¸ 11010802035786 ºÅ
±¾ÍøÕ¾ÓÉ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾3C5000·þÎñÆ÷Ìṩǿ¾¢¶¯Á¦
2022Äê1ÔÂ27ÈÕ£¬×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾ÖпÆÓÚ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾¿ªÔ´ÉçÇøÕýʽ¶ÔÍâÐû²¼»ùÓÚOpenJDK 17µÄ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨JavaÇéÐΡ£Java 17ÌṩÁËÊýǧÖÖÐÔÄÜ¡¢ÎȹÌÐÔºÍÇå¾²ÐÔ¸üУ¬ÒÔ¼°14¸öJEP£¨JDK Enhancement Proposal£¬¼´ JDK ÔöÇ¿½¨Ò飩À´½øÒ»²½ÓÅ»¯JavaÓïÑÔÇ徲̨£¬´Ó¶ø×ÊÖú¿ª·¢Ö°Ô±Ìá¸ßÊÂÇéЧÂÊ¡£
Java 17ÊÇOracle×îÐÂÐû²¼µÄºã¾ÃÖ§³Ö (Long-Term Support, LTS) °æ±¾[1]¡£¹ØÓÚJava 17¸üÏêϸµÄÄÚÈÝÇë¼ûÏ·½Oracle¹ÙÍø[2]¡£´Ë´ÎÐÂÐû²¼µÄ°æ±¾£¬³ýÁËÉÏÊöÉÏÓθüÐÂÒÔÍ⣬×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾ÍŶÓÕë¶Ô×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨ÌØÊâÊÇLoongArchƽ̨¾ÙÐÐÁËй¦Ð§¿ª·¢ºÍÓÅ»¯£¬ÏêϸÈçÏ£º
ÇкÏTCK±ê×¼
×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨Java 17ÇéÐξÓÉÑéÖ¤ÇкÏJava SE 17£¬ÐÂÓ¦ÓóÌÐòºÍÏÖÓÐÓ¦ÓóÌÐòÎÞÐèÐ޸ļ´¿ÉÔËÐС£
Ö§³ÖC1±àÒëÆ÷ºÍ·Ö²ã±àÒë
C2±àÒëÆ÷£¨Server Compiler£©Ö÷ÒªÖª×ãÁËJavaÓ¦ÓõķåÖµÐÔÄÜÐèÇ󣬴˴ÎÐû²¼µÄLoongArch64ƽ̨ÇéÐÎÖ§³ÖC1±àÒëÆ÷£¨Client Compiler£©ºÍ·Ö²ã±àÒ룬¿É½øÒ»²½Öª×ã¶ÔÆô¶¯ÐÔÄÜÓÐÒªÇóµÄJavaÓ¦Ó㬺ñÈ×ÀÃæÓ¦Óá£Í¨¹ýʵ²â£¬×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨¿ªÆôC1ºÍ·Ö²ã±àÒëÖ®ºó£¬²¿·ÖÓ¦ÓûñµÃÁËÏÔÖøÌáÉý£ºEclipseÆô¶¯Ê±¼äïÔÌ16.4%£¬NetBeansÆô¶¯Ê±¼äïÔÌ20.1%£¬SPECjvm2008ÖеÄstartupÏîÌáÉý13.4%£¬DacapoÖÐluindexºÍfopÓÃʱ»®·Ö½µµÍ31.9%ºÍ29.2%¡£
LoongArchÏòÁ¿Ö¸ÁîÓÅ»¯
´Ë´Î°æ±¾Í¨¹ýʹÓÃLoongArchÏòÁ¿Ö¸Áî¶ÔC2±àÒëÆ÷¾ÙÐÐÁË×Ô¶¯ÏòÁ¿»¯ÓÅ»¯£¬Í¬Ê±»¹¾ÙÐÐÁËVector APIµÄÓ²¼þÖ§³Ö¡£Í¨¹ýʵ²â£¬¿ªÆôÏòÁ¿ÓÅ»¯ºó£¬ÔÚLoongArch64ƽ̨ÉÏSPECjvm2008ÖеÄscimark.lu.smallÌáÉýÁË102.7%£¬JMH Microbenchmarksº¬ÓÐVectorÒªº¦×ÖµÄ168Ïî²âÊÔÖУ¬¼ÆÊ±Àà²âÊÔÖÐÓÐ39ÏîÓÃʱ½µµÍ1/2ÒÔÉÏ£¬ÍÌÍÂÁ¿Àà²âÊÔÖÐÓÐ26ÏîÌáÉý2±¶ÒÔÉÏ¡¢ÆäÖÐ×î¸ßÏîÌáÉýÁË200±¶ÒÔÉÏ¡£
Ö§³ÖZGC
ZGC£¨The Z Garbage Collector£©£¬ÊÇÒ»¿îµÍÑÓ³ÙÀ¬»ø½ÓÄÉÆ÷£¬ËüµÄÉè¼ÆÄ¿µÄ°üÀ¨[3]£º
¡ñ ÑǺÁÃë¼¶×î´óÍ£ÂíÉϼä
¡ñ ÔÝͣʱ¼ä²»Ëæ¶ÑµÄ¾Þϸ¡¢´æ»î¼¯¼°¸ù¼¯µÄ¾ÞϸµÄÔöÌí¶øÔöÌí
¡ñ Ö§³Ö8MBÖÁ16TB¼¶±ðµÄ¶Ñ¾Þϸ
ͨ¹ýʵ²â£¬×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨£¨LoongArch64£©¿ªÆôZGCºó£¬ÔÚ3C5000L˫·ÉÏSPECjbb2015 max-jOPSÌáÉý27.8%£¬critical-jOPSÌáÉý200%ÒÔÉÏ¡£
¼Ó½âÃÜÀàÓÅ»¯
´Ë´Î°æ±¾Í¨¹ýIntrinsics·½·¨Ê¹ÓÃLoongArch»ù´¡Ö¸Áî¶ÔSHA1¡¢SHA256¡¢AES¡¢MD5ÒÔ¼°CRC32Ïà¹ØAPI¾ÙÐÐÓÅ»¯¡£ÕâЩÓÅ»¯¶ÔSPECjvm2008ÖеÄcryptoµÈÏîÄ¿ÓÐÏÔÖøÌáÉýЧ¹û¡£
Êý×鿽±´ÓÅ»¯
´Ë´Î°æ±¾Õë¶ÔLoongArch¾ÙÐÐÁËÊý×鿽±´Ïà¹Ø²Ù×÷µÄÖØ¹¹ºÍÓÅ»¯¡£Í¨¹ýJMH Microbenchmarks²âÊÔÏÔʾ£¬org.openjdk.bench.java.lang.ArrayCopyÏà¹Ø²âÊÔÓÃÀýÓÅ»¯ºóƽ¾ùÖ´ÐÐʱ¼äϽµ33%£¬×î¶àÏîϽµÁË76.77%£¬SPECjvm2008ÖеÄserialÏîÓÅ»¯ºóÌáÉýÁË6%ÒÔÉÏ¡£
Ô×ÓÖ¸ÁîÓÅ»¯
´Ë´Î°æ±¾Í¨¹ýʹÓÃLoongArchÔ×ӷôæÖ¸ÁîïÔÌÁËÄÚ´æÆÁÕÏÖ¸ÁîµÄʹÓ㬶ÔvolatileÏà¹Ø²Ù×÷ʵÏÖÁËÓÅ»¯¡£
ºóÆÚÍýÏë
³ýÁËÉÏÊöÓÅ»¯ÒÔÍ⣬´Ë´ÎÐû²¼µÄ°æ±¾»¹°üÀ¨Õë¶Ô×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨µÄһЩ¹ÊÕÏÐÞ¸´¡£ÕâЩÓÅ»¯ºÍ¹ÊÕÏÐÞ¸´ÖеIJ¿·ÖÄÚÈÝÒѼ¯³ÉÖÁ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨µÍ°æ±¾JDKÖУ¬¸ü¶àÄÚÈÝ»áÆ¾Ö¤ÇéÐÎÂ½Ðø¼¯³ÉÖÁµÍ°æ±¾JDKÖС£
¡¸ÏÂÔØ·½·¨¡¹
ÏÂÔØ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨Java 17ÇéÐΣ¬ÒÔ¼°Ïàʶ¸ü¶à¹ØÓÚ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾Æ½Ì¨JavaÐÅÏ¢Çë»á¼û×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾¿ªÔ´ÉçÇø£¨Ï·½µØµã£©
http://www.loongnix.cn/index.php/Java
²Î¿¼×ÊÁÏ£º
[1] https://www.oracle.com/cn/news/announcement/oracle-releases-java-17-2021-09-14
[2] https://www.oracle.com/java/technologies/javase/17-relnotes.html
[3] https://wiki.openjdk.java.net/display/zgc/Main
×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾ÖпÆ
΢ÐŹ«ÖÚºÅ
×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾ÖпÆ
ÊÓÆµºÅ
Copyright ? 2008-2022 ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾ ¾©ICP±¸14017781ºÅ-1
¾©¹«Íø°²±¸ 11010802035786 ºÅ
±¾ÍøÕ¾ÓÉ×ðÁú¼¯ÍÅÓÐÏÞ¹«Ë¾3C5000·þÎñÆ÷Ìṩǿ¾¢¶¯Á¦