at builderscon tokyo 2019 English Title: How to implement JVM by the PHP, and until output HelloWorld.
å æ¥ãJavaã¯ã©ã¹ãã¡ã¤ã«å ¥é - connpassã«ã¦ãã¤ãã³ã¼ãã®èªã¿æ¹ã«ã¤ãã¦è©±ãã¦ããã®ã§ãæè§ã ãããã¡ãã«ãæ¸ãã¦ã¿ã¾ãã å 容çã«ã¯ããã¾ã§å ¥éã¨ãããã¨ã§ããµã³ãã«ã¨ãã¦åãä¸ããã³ã¼ããèªãããã«å¿ è¦ãªç¯å²ã®ç¥èã®ã¿ãå ãã¦ãã¾ãå³å¯ãªäºã¾ã§ã«ã¯è¨åãã¦ãã¾ãããã¨ãããããããªæãã§åãã¦ãã¨ããé°å²æ°ãæ´ãäºã主ç¼ã«èµ·ãã¾ãããå³å¯ãªå®ç¾©ãªãã¦ããããèªåãè¨ããªãã¦ãä»æ§æ¸è¦ãã°æ¸ãã¦ããã¾ãããã Javaãã¤ãã³ã¼ãã¨ã¯ï¼ é常ãã³ã³ãã¥ã¼ã¿ãåããããã®å½ä»¤ã¯é«ç´è¨èªããªãã§ãããæçµçã«ã¯ã¢ã»ã³ãã©ãã²ãã¦ã¯æ©æ¢°èªã¨ãªã£ã¦å¦çããã¾ãã Javaã§ã¯æ§ã ãªãã©ãããã©ã¼ã ä¸ã§åä½ããJavaä»®æ³ãã·ã³ãç¨æãããã®ä»®æ³ãã·ã³ä¸ã§åä½ãããå è¿°ã®ã¢ã»ã³ãã©ã®ä½ç½®ã«è©²å½ããè¨èªã解éãã¦å®è¡ãã¾ãã大éæã«è¨ã£ã¦ãã¾ãã°ãããããã¤ãã³ã¼ãã¨ãããã¨ã§ããã
Rubyã®JITéçºã§ãããã¨æã£ã¦ããã¨ãå¤§ä½ @_ko1 ããã®ä½æ¥å¾ ã¡ã§ãããã¯ãã¦ãã¦æãªã®ã§ä½ããæ¸ããã¨æããJVMãæ¸ããã¨ã«ããã ã¾ã ãã®è¾ºã®ã¢ããªãæ°è»½ã«åãããã¬ãã«ã§ã¯å ¨ç¶ãªãããå¥ã«ç§å¯è£ã«éçºããå¿ è¦ããªãã¨æã£ãã®ã§å ¬éããã github.com ããã®ç´¹ä»ã¨ãç¾æç¹ã§å¦ã¹ããã¨ããã®è¨äºã«è¨é²ãã¦ããã ä½æ JVMãªã®ã ä»äºã§JVMè¨èªã使ã£ã¦ãã åãæå±ãã¦ããTreasure Dataã§ã¯ã大éæã«è¨ãã¨æ¬çªãµã¼ãã¼ã®ãµã¼ãã¹ã¯å¤§ä½Ruby, Java, Scala, Kotlinã§æ¸ããã¦ãã*1ã®ã§ãæ¢ã«Rubyã®VMã¯ããç¨åº¦ããã*2ãã¨ãèããã¨ãJVMããç解ãã¦ãã¾ãã°ç¤¾å ã®ä¸»è¦ãªè¨èªè©ä¾¡ç³»ãæãããã¨ã«ãªããéç¨é¢ã§æ´»èºã®æ©ä¼ãå¢ããæ°ããã¦ããã ã¾ããèªåãæè¿ä¸çªæ¸ãã¦ããã®ã¯Kotlinãªã®ã ããJVMã§åããã¦ãããã¨ã«ç±
February 11, 201423:59 ãJava ä»®æ³ãã·ã³ä»æ§ããèªã¿çµããã¾ããã ã«ãã´ãªTemporary Comment(0)Trackback(0) Javaä»®æ³ãã·ã³ä»æ§ èªã¿çµããã¾ããã Java é¢é£ã®ä»æ§æ¸ã¨ããç¹ã§ã¯ãã®åã«èªãã§ããJava è¨èªä»æ§ã¨åããªã®ã§ãããå 容çã«ã¯ãã¡ãã®ã»ãããã£ã¨é¢ç½ãã§ãã ãã®æ¬ã®æ¨å®èªè ã¯ãæå¼·ã® JVM ä½ãã(ï½·ï¾ï½¯ãã¨ãã人ãã¡ä»¥å¤ã®ä½è ã§ããªãã¨æãã®ã§ãããèªåã®ããã«ããã¢ã½ã³çæ³æ²ã§è²·ã£ããã©æ¬æ£ã®è¥ããã«ããã®ããã£ãããªãã®ã§èªãã§ãã¾ãããã¨ããåæ© (㨠Java åå¿è ããåç´è ã«ãªããã¨ãã¦ãã人) ã§èªãã§ããååã«æ¥½ããã¾ãã身ã«ãªãã¾ãã å®éã®ã¨ãããã¾ãæå¾ ãã¦ããªãã£ãã®ã§ãããclass ãã¡ã¤ã«ã»ãã©ã¼ãããããã¼ãã»ãªã³ã¯ã»åæåãªã©ãJava è¨èªä»æ§ããããã£ã¨åããã
ãã®è¨äºã¯ä½? æè¿è¶£å³ã§JVMãä½ãå§ããã®ã§ï¼ãã®éç¨ã§å¾ãç¥è¦ã¨ããæ¸ãã¦ããè¨äºã§ãï¼ ä»åã¯ï¼ã¯ã©ã¹ãã¡ã¤ã«ã«ç¦ç¹ãå½ã¦ã¦ããã¾ãï¼ åèæç® åèæç®ã¯ä¸çªæå¾ã«æ¸ããã®ã ã¨æã£ã¦ããã©ï¼æåã«æ¸ãã¦ãè¯ãããããªãã ããã. Java Virtual Machine Specification - ã¾ãããJVMã®è¦æ ¼æ¸ï¼ä¸çªä¿¡é ¼ã§ãããï¼ããããªããã¨ãããã°ã¨ãããããããè¦ãï¼ Javaã®ã¯ã©ã¹ãã¡ã¤ã«ãjavapã¨ãã¤ããªã¨ãã£ã¿ã§èªã - 軽ãã¯ã©ã¹ãã¡ã¤ã«ã®å é¨ã«è§¦ãã¦ã¿ããã¨ãã¦ï¼æåã«è¦ã¤ããè¨äºï¼ã¨ã¦ãããããããã£ãï¼ ã¯ã©ã¹ãã¡ã¤ã«ã®æ§é è¦æ ¼ããæç²ï¼ ClassFile { u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info constant_po
JVMç¨ã®ã³ã³ãã¤ã©ãJavaã§èªä½ãããã¨æã£ã¦ãã¾ããã§ããããã解説ãã¦ãããµã¤ããè¦ã¤ããã¾ãããä½ãèªä½ã³ã³ãã¤ã©ã®ä½ãæ¹ã解説ãã¦ãããµã¤ãã¨ãã¯ãªãã®ã§ããããï¼æãã¦ãã ããã JVMç¨ã®ã³ã³ãã¤ã©ãJavaã§èªä½ãããã¨æã£ã¦ãã¾ããã§ããããã解説ãã¦ãããµã¤ããè¦ã¤ããã¾ãããä½ãèªä½ã³ã³ãã¤ã©ã®ä½ãæ¹ã解説ãã¦ãããµã¤ãã¨ãã¯ãªãã®ã§ããããï¼æãã¦ãã ããã
ã¡ã³ããã³ã¹
ãç¥ãã
é害
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}