2012-10-05 90 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