2012-10-05 87 views
7

所以我正在跟一个经营Interviews(你的标准人力资源经理)的人谈论他们在面试中的真正需求,并且他提到了有关测试JVM指导知识的一些事情(包括许多其他事情)。什么是JVM指令?

我不知道这些是什么,但我认为他在谈论字节码指令。

我已经做了一些研究,似乎我在“JVM指令”中找不到任何东西,我发现所有的字节码指令都是我已经知道的。

例如:http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html起初似乎谈论JVM指令,但似乎是我知道的字节码指令。

所以我的问题是,有没有像字节码指令分开的JVM指令,还是它们是一样的?

感谢

+3

JVM指令是字节码的组成部分。有趣的是,在面试时要问,他们是否希望他们的申请人编写他们自己的编译器? –

+3

是否知道它们是什么? – Fildor

+3

据我所知他们是相同的。我不知道为什么面试官会测试这些知识。它在Java编码方面几乎没有实际用处。真的,只有在您要编写/维护基于Java/Groovy/JVM的编译器时才有用。 – aroth

回答

7

所以我的问题是,有没有像字节码指令分开的JVM指令,或者他们是同一个?

它们是一个也是一样的。

+3

除此之外:我不明白提问的重点,以确定Java候选人是否对字节码有深入的了解。即使在你需要知道这种事情的少数情况下,你也不需要这种知识。 *有一个关于字节代码的高级知识点,它们是如何生成的以及它们如何执行的,但这是一组不同的面试问题。 –

4

他最有可能只是说说字节码指令,因为这是在JVM上运行什么。

0

我所知道的是,ByteCode是一个由JVM执行的抽象机器语言。一些使字节码是DADD的指令(两个数字),DDIV(分两个数字),DLOAD等,他们落入特定群体类型转换,算术和逻辑等,所以我猜他们是相同。这些指令构成了一个java字节码。字节码指令列表http://www.stackframe.com/documents/bytecode.html