2013-07-25 30 views
1

我今天在考試中被問及以下問題。我仍然不知道答案。JVM中的指令數

Java在堆棧中使用JVM中的字節碼。每條指令都是一個字節,因此操作系統中可能有多少條指令(每個字節代碼)。

我所知道的是堆棧是32位寬。任何人都可以幫助我(我是JVM的初學者)?

+1

該問題與堆棧,操作系統或JVM無關。唯一相關的詞是'字節'。 – EJP

+0

那麼答案是「4條指令」嗎? – Gaurav

+0

答案與可以在再見中保存多少個不同的值有關。 – EJP

回答

4

預期的答案几乎肯定是256,因爲有256個可能的字節值。

這當然與實際的JVM指令集無關。根據您的計數方式,可能的指令數量可能會有所不同,從幾十到幾十倍。

實際的JVM指令集有許多未使用的操作碼,一個操作碼在概念上代表多條指令,還有許多指令可以用多種不同的方式用多種不同的操作碼進行編碼。許多指令不止一個字節,有一對可以長達64kb。這甚至不像你如何計算寬前綴那樣。

+1

請解釋你的意思是「許多指令不止一個字節,一對可以長達64kb」。 OP顯然是在討論被識別的不同操作碼的數量。規範對於如何解釋廣泛性非常明確。 – kittylyst