ããã«ã¡ã¯ãSREã®æ¸ç°ã§ããæ¬æ¥ã¯JVMåå¼·ä¼ï¼éç¨ç·¨ï¼ã«ç¶ãã¦éå¬ããJVMåå¼·ä¼ï¼éçºç·¨ï¼ã®ä¸é¨ãå ¬éãã¾ãã

ã·ã¹ãã ããããã£
ã·ã¹ãã ããããã£ã¯ç°å¢å¤æ°ã®ããã«ãããã°ã©ã ã®æåãå¤ããããã«å©ç¨ãããã¨ãå¤ãã§ããä¾ãã°OpenJDKãã®ãã®ã§ã Integer.valueOf() ã§å¤ãã©ã®ç¨åº¦ãã£ãã·ã¥ããã*1ãè¨å®ããããã«ã·ã¹ãã ããããã£ã使ã£ã¦ãã¾ãã
ä»ã«ã user.language ãããã¯ããç¥ããã¦ãã¾ãããæ¨æºã§æä¾ãããã·ã¹ãã ããããã£ã夿°ããã¾ããããã製åã³ã¼ãããç´æ¥åç
§ãããã¨ã¯åºæ¬ãªãã¨æã£ã¦ãã¦ã File.pathSeparator ãªã©ã®æä¾ãããAPIã使ããã¨ãæã¾ããã§ããããã¾ãã·ã¹ãã ããããã£ã¯åçã«å¤æ´ãããã¨ãå¯è½ã§ãããã·ã¹ãã ããããã£ãèªã¿è¾¼ãå´ããããæ³å®ãã¦ãããã¯ç¢ºèªããã»ããè¯ãã§ãããã
æåã³ã¼ã
JVMèªä½ã¯OSæ¨æºã®æåã³ã¼ããç¨ãããã¨ã«ãªã£ã¦ãã¾ãããããªãã¡ããã¯ç¹ã«æ½è±¡åããã¦ããããããã°ã©ããæèããå¿ è¦ãããã¾ããã ãããJava 18ããUTF-8ãæ¨æºã«ãªãã®ã§ãåä½ç°å¢ã«ã¤ãã¦æ°ã«ããå¿ è¦æ§ãã²ã¨ã¤æ¸ãã¾ãã
éã«è¨ãã°ãæé»çã«OSæ¨æºã®æåã³ã¼ããæå¾ ãã¦ããããã°ã©ã ããããªãJava 18以éã§ã¯æ³¨æãå¿ è¦ã«ãªãã¾ããå»çæ©é¢åãã·ã¹ãã ãæ±ã£ã¦ããå¼ç¤¾ã®å ´åã ã¨ã仿§ã¨ãã¦Shift_JISã®å©ç¨ãæ±ãã¦ããæ¸å¼ãã¬ã»é»ã³ã¼ãæ å ±ãã¡ã¤ã«ãã¯ããã¨ãã¦å¤æ°åå¨ãã¦ãããã¨ãããæç¤ºçã«æåã³ã¼ããæå®ããæ¸ãæ¹ãå¾¹åºãããã¨ãå¿ è¦ã§ãã
æ¹è¡ã³ã¼ã
JVMèªä½ã¯æ¹è¡ã³ã¼ãã®æ±ããæ½è±¡åãã¾ããããã®ããããã°ã©ããCR, LF, CRLFã®ãããã使ããæ±ºå®ããå¿ è¦ãããã¾ãã
ã¨ã¯ããOSæ¨æºã®æ¹è¡ã³ã¼ãã使ãå ´å㯠PrintWriter, BufferedReader, Scanner ã¨ãã£ãæ¨æºã©ã¤ãã©ãªãæä¾ããæ½è±¡åããã£ã¦å¯¾å¿ããã°å
åã§ããããã System.lineSeparator() ãªã©ãå©ç¨ãã¦æ¹è¡ã³ã¼ããæç¤ºçã«æ±ããã¨ã¯ä¸è¦ã§ãããã
ãªãæ¸å¼ãæ±ãã¡ã½ããã§ã¯ãFormaterãæä¾ãã %n ã使ããã¨ã§OSæ¨æºã®æ¹è¡ã³ã¼ããåç
§ãããã¨ãã§ãã¾ãã
ãã«ãã¹ã¬ããããã°ã©ãã³ã°
JVM/Javaã¯ãã«ãã¹ã¬ããããã°ã©ãã³ã°ã«åãã¦ããã¨ãã話ããå ¥ããããã§ãèãããã¨ãçµæ§ããããã¨ãã話ã§çãä¸ããã¾ããã
ç¹ã« InterruptedException ã®æ±ããè¤éã¨ããç¹ã¯ãé»è»æ¬ï¼Java並è¡å¦çããã°ã©ãã³ã°ï¼ã«è©³ãã説æããã¦ããã®ã®ããªãå¤ããããæè¿ã®è¯ãæ¬ãç¥ãããã¨ãã声ãè¤æ°åºã¾ãããããããã®æ¸ç±ãããèªè
ã®æ¹ã¯ãã²æãã¦ããã ãããã§ãã
ããããè½ã¨ãç©´
JVMãæ¨æºã©ã¤ãã©ãªã®æåãç¥ããªãã¨ãããè½ã¨ãç©´ããã£ããããã以ä¸ã«æãããã®ãå«ãããã¤ãç´¹ä»ãã¾ããã
- æ£è¦è¡¨ç¾ã®ã³ã³ãã¤ã«å¦çã¯CPUã«è² è·ãããã¾ãã
kotlin.text.Regexã®ã³ã³ã¹ãã©ã¯ã¿ãjava.lang.Stringã®matches(String)ãªã©ãã³ã³ãã¤ã«å¦çãè¡ããããkotlin.text.Regexã¤ã³ã¹ã¿ã³ã¹ãcompanion objectã«ä¿åãã¦ä½¿ãåããªã©ã®å·¥å¤«ãå¿ è¦ã§ãã SoftReferenceãWeakHashMapã使ã£ã¦ãã£ãã·ã¥ãå®è£ ããã®ã¯GCã®æåã«æããã¦ãé£ãããããã¡ã¢ãªã®å©ç¨ç¶æ³ã«å¿ãã¦æåãå¤ãããã£ãã·ã¥ãå¿ è¦ãªãèªåã§å®è£ ããã«Guavaã®ãããªã©ã¤ãã©ãªãå©ç¨ãã¾ãããã- é
åã®å©ç¨ã¯æ¥µåé¿ãã¦ãã³ã¬ã¯ã·ã§ã³ã使ãã¾ãããã夿´ã«æè»ã§ãã¡ã½ãããè±å¯ã«æä¾ããã¦ãã¾ãããã¨é
åã¯ãã£ãã
Mapã®ãã¼ãªã©ã«ä½¿ãã¨å°ã£ããã¨ããJavaã®recordã§ä½¿ãã¨åé¡ãããã¨ããç´°ããè½ã¨ãç©´ãã¡ããã¡ããããã¾ãã
JVMã¨ã¿ãã°ãçµãã§é¡§å®¢ä¾¡å¤ã«ãã ããã¨ã³ã¸ãã¢ãæ¢ãã¦ãã¾ã
éç¨ç·¨ã¨éçºç·¨ã®2åã«åãã¦ãJVMã«ã¤ãã¦åå¼·ä¼ãéå¬ãã¾ãããããããæ©ä¼ãéãã¦JVMã®è½ã¨ãç©´ãé¿ãã¦æ§è½ãå¼ãåºãããã°ã©ã ãæ¸ããããã«ãªã£ãããã·ã¹ãã éç¨ã®ãã¤ã³ã«åºããç£è¦ãè¡ããããã«ãªãã¨å¬ããã§ãã
å¼ç¤¾ã§ã¯å»çæ¥çã®æ¥åæ¹åã®ãããå»çæ©é¢ã®ERPã¨å¼ã¶ã¹ãé»åã«ã«ããã¬ã»ããã³ã³ãã¥ã¼ã¿ãSaaSã¨ãã¦éçºã»æä¾ãã¦ãã¾ããJVM大好ããªæ¹ããTypeScriptã©ãã¨æ¥ããªæ¹ãæ±ãã¦ããã¾ãã®ã§ãé¢å¿ããæã¡ã®æ¹ã¯ãã²æ¡ç¨ãã¼ã¸ãã覧ããã ããã°ã¨æãã¾ãããããããé¡ããããã¾ãã
*1:ãã®è©±ããããPythonã«ãä¼¼ããããªãã£ãã·ã¥æ©æ§ãããã¨ãã話ãèãã¦é¢ç½ãã£ãã§ããåå¼·ä¼ã¯è©±ãå´ã«ãããããå¦ã³ã®æ©ä¼ããã£ã¦è¯ãã§ãã