2012-10-05 34 views
7

Quindi stavo parlando con qualcuno che dirige Interviews (il tuo manager delle risorse umane standard) su ciò che cercano veramente in un'intervista, e ha menzionato qualcosa (tra le altre cose) sui test per la conoscenza delle istruzioni JVM.Che cos'è un'istruzione JVM?

Non sapevo cosa fossero, ma ho pensato che stesse parlando di istruzioni bytecode.

Ho fatto qualche ricerca e sembra che non riesca a trovare nulla su "Istruzioni JVM", tutto quello che trovo sono riferimenti alle istruzioni bytecode, di cui già sapevo.

Ad esempio: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html in un primo momento sembra parlare di istruzioni JVM, ma sembra essere quello che conosco come istruzioni bytecode.

Quindi la mia domanda è: esistono istruzioni JVM separate dalle istruzioni del bytecode o sono la stessa cosa?

Grazie

+3

Le istruzioni JVM sono il codice byte. Cosa interessante da chiedere in un'intervista, si aspettano che i loro candidati scrivano il proprio compilatore? –

+3

Le persone sanno cosa sono? – Fildor

+3

Per quanto ne so sono uno nella stessa. E non ho idea del perché un intervistatore possa testare questa conoscenza. Ha poco o nessun uso pratico in termini di codifica Java. In realtà è utile solo se stai scrivendo/gestendo un compilatore basato su Java/Groovy/JVM. – aroth

risposta

7

Quindi la mia domanda è, ci sono cose come istruzioni JVM che sono separate da istruzioni bytecode, o sono la stessa cosa?

Sono la stessa cosa.

+3

A parte: non vedo il punto di porre domande per determinare se un candidato Java ha una conoscenza approfondita di bytecode. Anche nelle poche situazioni in cui hai bisogno di sapere quel tipo di cose, non avresti bisogno di quel tipo di conoscenza nella tua testa. Ci * è * un punto per la conoscenza ad alto livello di cosa sono i bytecode, come vengono prodotti e come vengono eseguiti, ma questa è una serie diversa di domande di intervista. –

4

Lui è più probabile parlando solo di istruzioni bytecode, come è quello che gestisce la JVM.

0

Tutto quello che so è che ByteCode è un linguaggio macchina astratto che viene eseguito da JVM. Alcune delle istruzioni che fanno bytecode sono Dadd (aggiungere due numeri), DDIV (divisione due numeri), dload, ecc Essi rientrano in certi gruppi tipo di conversione, l'aritmetica e la logica, ecc Quindi credo che sono stesso. Queste istruzioni costituiscono un codice byte java. Elenco delle istruzioni bytecode http://www.stackframe.com/documents/bytecode.html