Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 8 Nashorn JJS–;javascript控制台_Java_Javascript_Nashorn - Fatal编程技术网

Java 8 Nashorn 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

向专家提出的问题: 最新的Java8提供了Javascript引擎Nashorn。众所周知,借助InvokedDynamic的魔力,javascript被编译成JVM字节码,而Mozilla Rhino只是解释它

但是JJS(javascript控制台)呢。有没有正在进行的汇编?还是只有解释


谢谢

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指令)之前需要的。谢谢,我现在有了更好的理解!