jdk12.0.2ÊÇJava SE Development Kit µÄ×îа棬JDK ÊÇÈ«²¿JavaµÄ¹Ø¼ü£¬°üº¬ÁËJavaÔËÐÐ×ÔÈ»»·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJavaרÓù¤¾ßºÍJava»ù±¾µÄÀà¿â(rt.jar)¡£jdk12.0.2ÂÌÉ«°æÐÂÔö¼ÓÁ˺ܶàÐÂÌصãºÍ×÷Óã¬JDKÊÇÏÖÔÚ²ÉÓÃ×îÆÕ±éµÄJava SDK¡£
189 Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) µÍÔÝͣʱ¼äµÄ GC
230 Microbenchmark Suite ΢±ê×¼¼ì²âÄ£¿é
325 Switch Expressions (Preview) Switch ¹Øϵʽ
334 JVM Constants API JVM ³£Á¿ API
340 One AArch64 Port, Not Two Ö»ÁôÏÂÒ»¸ö AArch64 Íê³É
341 Default CDS Archives ĬÈÏÉèÖÃÀàÐÅÏ¢¹²Ïí¹éµµÎļþ
344 Abortable Mixed Collections for G1 ¿ÉÖÐ¶ÏµÄ G1 Mixed GC
346 Promptly Return Unused Committed Memory from G1 G1 Á¢¼´·µ»Øδ²ÉÓõÄÒÑÊÍ·ÅÄÚ´æ
Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
Shenandoah£ºµÍÔÝͣʱ¼äµÄ GC£¨ÊÔÑéÄÐÐÔÐÔ¹¦ÄÜ£©
ÐÂÔö¼ÓÁËÒ»¸öÃû½Ð Shenandoah µÄ GC ÓÅ»¯Ëã·¨£¬¸ù¾ÝÓëÒѾÔËÐÐµÄ Java ½ø³ÌÓë´Ëͬʱ¿ªÕ¹ evacuation ¹¤×÷ÖÐÀ´½µµÍ GC ÔÝͣʱ¼ä¡£Ó¦Óà Shenandoah µÄÔÝͣʱ¼äÓë¶Ñ³ß´ç²»Ïà¸É£¬Õâ´ú±í×ÅÎÞÂÛ¶ÑÊÇ 200 MB »òÊÇ 200 GB£¬¶¼½«¾ß±¸Í¬ÑùµÄÔÝͣʱ¼ä¡£
Microbenchmark Suite
΢±ê×¼¼ì²âÄ£¿é
JDK Ô´´úÂëÖÐÔö¼ÓÁËÒ»Ì×΢±ê×¼¼ì²âÄ£¿é£¬Ê¹¿ª·¢Õß¿ÉÒÔÇáÇáËÉËÉÔËÐÐÄ¿Ç°µÄ΢±ê×¼¼ì²â²¢´´Á¢Ðµıê×¼¼ì²â¡£
Switch Expressions (Preview)
Switch ¹Øϵʽ£¨ä¯ÀÀ×÷Óã©
ÍØÕ¹ÁË switch ¾ä×Ó£¬Ê¹Æä²»µ«¿ÉÒÔ×öΪ¾ä×Ó£¨statement£©£¬»¹Äܹ»×öΪ¹Øϵʽ£¨expression£©£¬¶øÇÒ¶þÖÖÊéд¶¼Äܹ»Ó¦Óô«Í³Ê½µÄ switch Ó¢ÓïµÄÓï·¨£¬»òÊÇÓ¦ÓÃÓÅ»¯µÄ¡°case L -¡±Æ¥ÅäËã·¨Ó¢ÓïµÄÓï·¨¹¦Ð§ÓÚ²»Ò»Ñù·¶³ë²¢²Ù×ÝʵÐÐÁ÷¡£ÕâÖÖ±ä¸ü½«¼òµ¥»¯ÈÕ³£±àºÅ¹¤×÷ÖУ¬²¢Îª switch ÖеÄÆ¥ÅäËã·¨£¨JEP 305£©×öºÃ³ä·ÖµÄ×¼±¸¡£
JVM Constants API
JVM ³£Á¿ API
Òý½ø API À´·ÂÕæÄ£ÄâÖØÒªÀàÎĵµºÍÔËÐÐʱ²úÆ·¹¤¼þµÄÐðÊö£¬ÓÈÆäÊÇ¿É´Ó³£Á¿³ØÔØÈëµÄ³£Á¿¡£ÔÚÐ嵀 java.lang.invoke.constant ¿âÖн綨ÁËһϵÁиù¾ÝÖµµÄ±ê¼ÇÒýÈ루JVMS 5.1£©ÖÖÀ࣬ËûÃÇ¿ÉÒÔÐðÊöÿһÖÖ¿ÉÔØÈë³£Á¿¡£±ê¼ÇÒýÈë°¢ÒÀÁ« nominal ·½Ê½ÐðÊö¿ÉÔØÈë³£Á¿£¬ÓëÀà¼ÓÔØ»ò¿Éä¯ÀÀÐÔÇ°ºóÎÄÇø±ð¿ª¡£ÓÐһЩÀà¿ÉÒÔ×öΪ×ÔÉíµÄ±ê¼ÇÒýÈ루ÀýÈç String£©£¬¶øÕë¶Ô¿ÉÁ¬½Ó³£Á¿£¬½ç¶¨ÁËһϵÁбê¼ÇÒýÓÃÀàÐÍ£¨ClaSSDesc¡¢MethodTypeDesc¡¢MethodHandleDesc ºÍ DynamicConstantDesc£©£¬ËûÃÇ°üÀ¨ÐðÊöÕâÖÖ³£Á¿µÄ nominal ÐÅÏ¢ÄÚÈÝ¡£
One AArch64 Port, Not Two
Ö»ÁôÏÂÒ»¸ö AArch64 Íê³É
ɾ³ýÁËÓë arm64 ÓйصÄÈ«²¿Ô´£¬Óë´Ëͬʱ±£´æ 32 λ ARM Íê³ÉºÍ 64 λ aarch64¡£
JDK ÖдæÓÐ2Ì× 64 λ ARM Íê³É£¬¹Ø¼ü³öÏÖÓÚ src/hotspot/cpu/arm ºÍ open/src/hotspot/cpu/aarch64 ÎļþĿ¼¡£Á½Õ߶¼Íê³ÉÁË aarch64£¬Èç½ñ½«Ö»±£´æºóÃæÒ»ÖÖ£¬É¾µôÓÉ Oracle ¸øÓèµÄ arm64¡£Õ⽫ʹÍƶ¯Õß½«ËüÃǵÄʱ¼ä¾Û¼¯ÔÚµ¥¶À 64 λ ARM Íê³ÉÉÏ£¬²¢Çå³ýά»¤±£Ñø2Ì×Íê³ÉÐèÒªµÄ·´¸´¹¤×÷ÖС£
Default CDS Archives
ĬÈÏÉèÖÃÀàÐÅÏ¢¹²Ïí¹éµµÎļþ
¶ÔÓÚ 64 λ·þÎñƽ̨£¬Ó¦ÓÃĬÈÏÉèÖÃÀàĿ¼Ìá¸ß JDK ´î½¨È«¹ý³ÌÒÔÉú³ÉÀàÐÅÏ¢¹²Ïí£¨class data-sharing£¬CDS£©µµ¡£
Abortable Mixed Collections for G1
¿ÉÖÐ¶ÏµÄ G1 Mixed GC
¼ÙÈç G1 Mixed GC ´æÓг¬¹ýÖÐÖ¹×ÜÌåÄ¿±êµÄ¸ÅÂÊ£¬ÔòʹÆä¿ÉÖжϡ£
Promptly Return Unused Committed Memory from G1
G1 Á¢¼´·µ»Øδ²ÉÓõÄÒÑÊÍ·ÅÄÚ´æ
Ìá¸ß G1 GC£¬ÔÚ¿ÕÓàʱ×ÔÐн« Java ¶ÑÄÚ´æ·µ»Ø¸øµçÄÔ²Ù×÷ϵͳ¡£ÎªÁ˸üºÃµØÍê³ÉÏòµçÄÔ²Ù×÷ϵͳ·µ»Ø½Ï´óÔËÐÐÄÚ´æÁ¿µÄ×ÜÌåÄ¿±ê£¬G1 ½«ÔÚÓ¦ÓÃÈí¼þ²»Ö÷Ìâ»î¶¯ÆÚÄÚ°´Ê±ÊµÐлò¿ªÆô¸ß²¢·¢ÖÜÆÚʱ¼äÒÔÃ÷È·×ÜÌå Java ¶ÑÓ¦ÓÃ×´¿ö¡£Õ⽫Ôì³ÉËüÈ«×Ô¶¯½« Java ¶ÑµÄδӦÓÃÒ»²¿·Ö·µ»Ø¸øµçÄÔ²Ù×÷ϵͳ¡£¶øÔÚ¿Í»§²Ù×ÝÏ£¬¿ÉÒÔ¿ÉÑ¡ÔñµØʵÐÐÍêÉÆµÄ GC£¬ÒÔʹ·µ»ØµÄ´æ´¢¿Õ¼äÁ¿ÀûÈó×î´ó»¯¡£
windows ÏÂJDK12µÄ°²×°È«¹ý³Ì»·¾³±äÁ¿ÅäÖÃÏ꾡ʵÀý½Ì³Ì£º
Ò»¡¢ÔÚ±¾ÍøÕ¾Ãâ·ÑÏÂÔØJDK12¶þ¡¢JDK°²×°
£¨1£©µãһϠ¡°jdk-12.0.1_windows-x64_bin.exe¡±µ¯³öÀ´°²×°Ö¸µ¼ÍøÒ³Ò³Ã棬µãһϡ°ÏÂÒ»²½¡±£»
£¨2£©¿É×Ô¶¨ÌôÑ¡½«JDK°²×°ÔÚ×ÜÌåÄ¿±êÎļþ¼ÐÃû³Æ£¨Ä¬ÈÏÉèÖþͿÉÒÔ£©£¬ÌôÑ¡¡°ÏÂÒ»²½¡±£»
£¨3£©Ñ¡Ôñ¡°¹Øµô¡±
£¨4£©Éú³ÉJRE:µçÄÔÉÏ°²×°JDK12ºó£¬·¢¾õа汾µÄJDK12°²×°½øÐкó›]ÓÐJRE£¬ÔËÐÐÒ»ÏÂÖ¸ÁÉú³ÉJRE£º
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre ÃüÁîÊÖ¶¯Ê½Éú³Éjre¡£
Èý¡¢ÅäÖû·¾³±äÁ¿
1.°²×°Ç°JDKÎļþĿ¼ÏÂÊÇÕâЩģÑùµÄ£º
2.Éú³ÉJRE:µçÄÔÉÏ°²×°JDK12ºó£¬·¢¾õа汾µÄJDK12°²×°½øÐкó›]ÓÐJRE£¬ÔËÐÐÒ»ÏÂÖ¸ÁÉú³ÉJRE£º
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre ÃüÁîÊÖ¶¯Ê½Éú³Éjre¡£
3.°²×°ºóJDKÎļþĿ¼ÏÂÊÇÕâЩģÑùµÄ£º
4.ÁôÒ⣺ÎÒ»¹ÔÚÔËÐÐÉϱßÉú³ÉJREµÄÖ¸ÁîµÄÇé¿öÏ£¬CMD¶Ô»°¿ò;¾¶±íÃ÷µÄΪ:
C:\Program Files\Java\jdk-12.0.1: £¬ÔËÐеÄÖ¸ÁîΪ£ºbin\jlink.exe ¨C
module-path jmods --add-modules java.desktop --output jre£¬ÔËÐÐ
µÄ¾ßÌåλÖúÍ;¾¶Ò»¶¨ÒªÒ»Ö¡£
ËÄ¡¢ÅäÖû·¾³±äÁ¿
1.½øµ½»·¾³±äÁ¿ÅäÖÃÒ³Ãæ
·½Ê½1£ºÊó±êÓÒ¼üµãһϵç×Ó¼ÆËã»ú¨CÌØÐÔ¨C¸ß¼‰ÏµÍ³ÅäÖèC¸ß¼‰¨Cϵͳ±äÁ¿
·½Ê½2£ºwin R ¨C ¼üÈë sysdm.cpl ²¢»Ø³µ¼ü ¨C ¸ß¼‰ ¨C ϵͳ±äÁ¿
2.¼ÓÉÏϵͳ±äÁ¿
Óû§±êʶ·û ±äÁ¿Öµ
JAVA_HOMEC:\Program Files\Java\jdk-12
Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
ÁôÒ⣺
1¡¢C:\Program Files\Java\jdk-12¸ÃÎļþ¼ÐÃû³ÆÏêϸµØÖ·ÊÇJDK°²×°²¿Î»
2¡¢´ÓJDK 9Öð½¥²úÉúÖصãת±ä - - - ¡°ÒÔÇ°ÀàºÍÙYÔ´Îļþ´«ËÍÔÚlib/rt.jar£¬
tools.jar£¬JDK 9°æ±¾ºÅÖð½¥ lib/dt.jarºÍÆäËü¸÷ÖÖ¸÷ÑùÄÚ²¿½á¹¹JARÎĵµ¶¼´¢´æÔÚ
Ò»¸ö¸üºÏÀíµÄÎļþ¸ñʽÔÚÍê³ÉÌØÊâµÄÎĵµlibÎļþĿ¼¡£Òò´Ë²»ÓÃÅ䱸CLASS
PASTH×Ô±äÁ¿¡£¡±
Îå¡¢²éÑéJDKÅ䱸
µçÄÔ¼üÅÌ ¡°Win R¡± ¼üÅÌ¿ì½Ý¼ü¼üµ÷³É¡°ÔËÐС±£¬¼üÈë¡°cmd¡±£¬ÔÚcmd¼üÈë¡°java -version¡±
ÒÔÉÏÁ÷³Ì½øÐоÍ˳Àû¹¹½¨JDKµÄ°²×°¼°ÏµÍ³±äÁ¿ÁË£¡£¡£¡
¶àÌØÈí¼þרÌâΪÄúÌṩDLLÎļþ,dllÎļþ±à¼Æ÷,dllÎļþÔõô´ò¿ª;°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«¹¤¾ßÏÂÔØ
¡¶µÛ°Ô¡·¼ò½é£ºÇ§ÍòÄêÇ°£¬ÀîÆßÒ¹ÔÔÏÂÒ»Öê´äÖñ¡£°Ë°ÙÍòÄêÇ°£¬ÀîÆßÒ¹ÑøÁËÒ»ÌõÀðÓã¡£Îå°ÙÍòÄêÇ°£¬ÀîÆßÒ¹ÊÕÑøÒ»¸öСŮº¢¡£½ñÌ죬ÀîÆßÒ¹Ò»¾õÐÑÀ´£¬´äÖñÐÞÁ·³ÉÉñÁ飬ÀðÓ㻯×÷½ðÁú£¬Ð¡Å®º¢³ÉΪ¾Å½çÅ®µÛ¡£ÕâÊÇÒ»¸öÑø³ÉµÄ¹ÊÊ£¬Ò»¸ö²»ËÀµÄÈË×åС×ÓÑø³ÉÁËÑýÉñ¡¢Ñø³ÉÁËÏÉÊÞ¡¢Ñø³ÉÁËÅ®µÛµÄ¹ÊÊ¡£
¶àÌØÈí¼þΪ´ó¼ÒÌṩÁË¡¶µÛ°Ô¡·×îÐÂÇåˬ¸É¾»µÄÎÄ×ÖÕ½ÚÔÚÏßÔĶÁAPP¼¯ºÏ£¬Îª´ó¼Ò ×¼±¸Á˷dz£·á¸»µÄС˵ÔÄÈí¼þ£¬¿ÉÒÔËæʱËæµØ¿´Äãϲ»¶µÄС˵¡¶µÛ°Ô¡·»¶Ó´ó¼ÒÏÂÔØ¡£
¶àÌØÈí¼þ԰ΪÄúÕûÀíÁ˶à¿îpptĿ¼ģ°å´óÈ«Èí¼þ£¬ÔÚ¶àÌØÄúÄÜÏÂÔضà¿îÕý¹æµÄ¡¢ÎÞ¶¾Èí¼þ£¬ÆäÖÐÓÐPPTÄ£°å¡¢PPTÄ£°åÖúÊÖ¡¢pptÄ£°å´óʦµÈApp£¬ÕÒÈí¼þÒ»¶¨ÒªÕÒÕý¹æƽ̨£¬¶àÌØÿһ¿îÈí¼þ¶¼½øÐвéɱ£¬È·±£Èí¼þ°²È«£¬ÏëÒªÕÒpptĿ¼ģ°å´óÈ«Ó¦Ó㬸ϽôÀ´¶àÌØÈí¼þÔ°¿´¿´°É¡£
¶àÌØÈí¼þ԰ΪÄúÕûÀíÁ˶à¿îfcÓÎÏ·´óȫĿ¼Èí¼þ£¬ÔÚ¶àÌØÄúÄÜÏÂÔضà¿îÕý¹æµÄ¡¢ÎÞ¶¾Èí¼þ£¬ÆäÖÐÓбùÇò fcÓÎÏ·¡¢¸ß¶û·ò FCÓÎÏ·¡¢Ä§·¨ÆøÅÝ FCÓÎÏ·µÈApp£¬ÕÒÈí¼þÒ»¶¨ÒªÕÒÕý¹æƽ̨£¬¶àÌØÿһ¿îÈí¼þ¶¼½øÐвéɱ£¬È·±£Èí¼þ°²È«£¬ÏëÒªÕÒfcÓÎÏ·´óȫĿ¼ӦÓ㬸ϽôÀ´¶àÌØÈí¼þÔ°¿´¿´°É¡£
¶àÌØÈí¼þ԰ΪÄúÕûÀíÁ˶à¿îpspÓÎÏ·´óȫĿ¼Èí¼þ£¬ÔÚ¶àÌØÄúÄÜÏÂÔضà¿îÕý¹æµÄ¡¢ÎÞ¶¾Èí¼þ£¬ÆäÖÐÓÐPSPÓÎϷת»»Æ÷(PSPGameConvert)¡¢SteamÓÎÏ·°²×°Ä¿Â¼Ð޸Ť¾ß¡¢Ä¿Â¼ºÐµÈApp£¬ÕÒÈí¼þÒ»¶¨ÒªÕÒÕý¹æƽ̨£¬¶àÌØÿһ¿îÈí¼þ¶¼½øÐвéɱ£¬È·±£Èí¼þ°²È«£¬ÏëÒªÕÒpspÓÎÏ·´óȫĿ¼ӦÓ㬸ϽôÀ´¶àÌØÈí¼þÔ°¿´¿´°É¡£