Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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 就JVM而言,什么是乌龙?_Java_Jvm_Oolong - Fatal编程技术网

Java 就JVM而言,什么是乌龙?

Java 就JVM而言,什么是乌龙?,java,jvm,oolong,Java,Jvm,Oolong,我正在读Joshua Engel的《Java虚拟机编程》一书,书中作者提供了一种叫做“乌龙”的“JVM汇编语言” 据我所知,这是一种编译成java字节码的语言,它与原始java字节码非常相似(那里使用了大量字节码操作码)。如果是这样,为什么它被称为汇编语言?这是因为它是低级语言,看起来像字节码吗 另一个问题是关于茉莉花的。正如维基百科所说,它是“一个使用Java虚拟机指令集从人类可读的汇编类语法创建类文件的免费开源汇编程序”。Jasmin文件(也有.j扩展名)的语法看起来像乌龙的语法。乌龙茶是中

我正在读Joshua Engel的《Java虚拟机编程》一书,书中作者提供了一种叫做“乌龙”的“JVM汇编语言”

据我所知,这是一种编译成java字节码的语言,它与原始java字节码非常相似(那里使用了大量字节码操作码)。如果是这样,为什么它被称为汇编语言?这是因为它是低级语言,看起来像字节码吗


另一个问题是关于茉莉花的。正如维基百科所说,它是“一个使用Java虚拟机指令集从人类可读的汇编类语法创建类文件的免费开源汇编程序”。Jasmin文件(也有.j扩展名)的语法看起来像乌龙的语法。乌龙茶是中国茶,名字不重要。 请记住,Java语言是由Java编译器编译的。
Java字节码不是汇编语言,但您可以将其视为(JVM)Java虚拟机的汇编语言。

Oolong是JVM的汇编语言

。。。为什么它被称为汇编语言

你最好去查一下“汇编语言”在(例如)中的含义。它本质上是一种语言,在目标机器的“语句”和机器指令之间有一对一的直接映射。如果将JVM视为目标机器,则乌龙符合此描述。(乌龙语句和JVM字节码指令之间有一对一的映射。)

Jasmin文件(也有.j扩展名)的语法看起来像乌龙的语法。在那里用吗

我看到有消息称乌龙的语法是“基于Jasmin”,但我找不到任何单独的文档详细描述该语法

如果你对乌龙有兴趣,这个问题有关于从哪里下载的详细信息:



1-我过于简单化了。某些汇编语言支持“宏”,其中单个源语句可以映射到多个目标指令。阅读维基百科参考资料。

它使用堆栈、堆栈框架,并具有与实际汇编语言相对应的字节码。它还有更高级别的指令,可以从内存中检索字段,但不能直接检索。您必须使用getfield、putfield、invokespecial等。因为JVM不是在真正的硬件环境(如Unix内核)中运行的,所以它不会像真正的操作系统那样手工处理进程、担心时间片和服务中断、与设备驱动程序通信等等。我不得不说JVM是Java和本机操作系统之间的中间件。这正是他们所说的。。。。一个虚拟机。

请参阅-它指定了Java字节码指令。@Sergey我在找《Java虚拟机编程》,你有pdf吗?Thx.我不记得有人问过这个名字的由来,Java语言是如何编译的,这在很大程度上与这个问题无关,Java字节码不是“JVM的汇编语言”。