2012-10-05 6 views
7

Also habe ich mit jemandem gesprochen, der Interviews führt (Ihr Standard HR Manager) über das, was sie wirklich in einem Interview suchen, und er erwähnte etwas (unter anderem) über das Testen auf JVM Instruktionskenntnisse.Was ist eine JVM-Anweisung?

Ich wusste nicht, was das war, aber ich dachte, er sprach über Bytecode-Anweisungen.

Ich habe einige Nachforschungen gemacht und es scheint, dass ich nichts über "JVM Instructions" finden kann, alles was ich finde sind Verweise auf Bytecode Anweisungen, von denen ich bereits wusste.

Zum Beispiel: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html zunächst scheint über JVM Anweisungen zu sprechen, aber das scheint zu sein, was ich weiß, wie Bytecode-Anweisungen.

Also meine Frage ist, gibt es so etwas wie JVM Anweisungen, die von bytecode Anweisungen getrennt sind, oder sind sie ein und dasselbe?

Dank

+3

JVM-Anweisungen bestehen aus dem Byte-Code. Interessant an einem Interview zu fragen, ob sie erwarten, dass ihre Bewerber einen eigenen Compiler schreiben? –

+3

Hat _he_ wissen, was sie sind? – Fildor

+3

Soweit ich weiß, sind sie eins. Und ich habe keine Ahnung, warum ein Interviewer auf dieses Wissen prüfen würde. Es hat wenig bis keinen praktischen Nutzen in Bezug auf Java-Codierung. Wirklich nützlich ist es nur, wenn Sie einen Java/Groovy/JVM-basierten Compiler schreiben/pflegen. – aroth

Antwort

7

Also meine Frage ist, gibt es so etwas wie JVM Anweisungen, die von bytecode Anweisungen getrennt sind, oder sie ein und dasselbe?

Sie sind ein und dasselbe.

+3

Nebenbei: Ich sehe nicht den Sinn, Fragen zu stellen, um zu bestimmen, ob ein Java-Kandidat eingehende Kenntnisse über Bytecodes hat. Selbst in den wenigen Situationen, in denen Sie solche Dinge wissen müssen, brauchen Sie dieses Wissen nicht in Ihrem Kopf. Es gibt einen Punkt, auf dem man wissen muss, was Bytecodes sind, wie sie erzeugt werden und wie sie ausgeführt werden, aber das ist eine andere Art von Interviewfragen. –

4

Er höchstwahrscheinlich nur darüber zu reden Bytecodebefehle, wie das ist, was die JVM läuft.

0

Ich weiß nur, dass ByteCode eine abstrakte Maschinensprache ist, die von JVM ausgeführt wird. Einige der Anweisungen, die Bytecode machen sind 10 dadd ddiv (teilen Sie zwei Zahlen), dload, etc. Sie fallen in bestimmte Gruppen Typ Umwandlung, Arithmetik und Logik usw. Also ich denke, sie sind gleich. Diese Anweisungen bilden einen Java-Byte-Code. Liste der Bytecode-Anweisungen http://www.stackframe.com/documents/bytecode.html