Differenza tra linguaggio macchina e Bytecode in java !! (?)?

Salve a tutti, sto studiando java e come da titolo vorrei sapere SE e QUALE differenza c'è tra Linguaggio Macchina e Bytecode nel caso specifico di Java. Spero possiate aiutarmi in cambio di 10 punti. Buona serata .

3 risposte

Classificazione
  • 7 anni fa
    Risposta preferita

    Il linguaggio macchina è scritto in binario e dipende dall'architettura del processore, perché le poche e semplici istruzioni che può usare sono memorizzate in un registro della CPU.

    Il bytecode è un linguaggio più astratto, ovvero non tutte le sue istruzioni hanno un corrispettivo diretto nel codice macchina; in questo modo il bytecode può essere eseguito su architetture diverse, purché sia presente un compilatore just-in-time o un interprete che lo converta nel codice macchina appropriato (il compitatore o l'interprete invece sono già compilati in linguaggio macchina, quindi bisogna installarne la versione adatta). La differenza tra interprete e compilatore just-in-time è che quest'ultimo dopo la prima compilazione solitamente conserva una copia dell'eseguibile in codice macchina nella sua cache.

  • 7 anni fa

    A livello teorico, nessuna.sono linguaggi binari che vengono eseguiti da un processore che li interpreta.

    In pratica, nel primo caso, il processore è un oggetto fisico, mentre, nel secondo, il processore è un software, che trasforma il bytecode in un altro linguaggio macchina, che viene eseguito da un altro processore.

  • 7 anni fa

    il bytecode viene usato dal Java Virtual Machine, che e' un software scritto in C che emula hardware..

    Il binary invece viene eseguito direttamente dal hardware

Altre domande? Fai una domanda e ottieni le risposte che cerchi.