Java 8 Nashorn JJS–;javascript控制台
向专家提出的问题: 最新的Java8提供了Javascript引擎Nashorn。众所周知,借助InvokedDynamic的魔力,javascript被编译成JVM字节码,而Mozilla Rhino只是解释它 但是JJS(javascript控制台)呢。有没有正在进行的汇编?还是只有解释Java 8 Nashorn JJS–;javascript控制台,java,javascript,nashorn,Java,Javascript,Nashorn,向专家提出的问题: 最新的Java8提供了Javascript引擎Nashorn。众所周知,借助InvokedDynamic的魔力,javascript被编译成JVM字节码,而Mozilla Rhino只是解释它 但是JJS(javascript控制台)呢。有没有正在进行的汇编?还是只有解释 谢谢 jjs只是一个命令行工具的名称,它与JDK一起发布,调用Nashorn 详情请参见。我说的对吗:我运行jjs,jjs本身以某种方式启动nashorn,我得到了控制台;我输入一些东西,例如“newdat
谢谢 jjs只是一个命令行工具的名称,它与JDK一起发布,调用Nashorn
详情请参见。我说的对吗:我运行jjs,jjs本身以某种方式启动nashorn,我得到了控制台;我输入一些东西,例如“newdate()”,然后按enter键;内部发生了什么?–nashorn生成“new Date()”构造的字节码,将其推送到JVM中,然后停止JVM以供下一个用户输入?是吗?说Nashorn“生成字节码”太简单了。在您指定的情况下,Nashorn对代码求值,结果创建一个新的JavaScript日期对象(由Nashorn Java类实现)。Nashorn的“字节码”部分大致是,JVM现在包含允许方法动态附加到Java对象的指令,Java对象支持JavaScript等语言的动态类型。Nashorn使用这些指令,而不是在Java之上合成一个完整的方法调用层,这是在
invokedynamic
(新的JVM指令)之前需要的。谢谢,我现在有了更好的理解!