Esiste un buon riferimento su come Java esegue il bytecode?[Chiuso]
Domanda
Sono interessato a come Java organizza la memoria ed esegue il codice (come quello che viene messo nello stack o nell'heap), dall'inizio di main, all'assegnazione di variabili, alla chiamata di funzioni, al passaggio di parametri, alla restituzione di valori, all'istanziazione di oggetti, ecc.Qualcuno ha trovato un buon articolo/riferimento adatto ai principianti al riguardo?
Soluzione
Il riferimento canonico è l Specifica JVM.Tuttavia, diverse JVM possono implementare le specifiche in modi diversi.Puoi anche controllare l'implementazione della piattaforma Java open source, OpenJDK.
Altri suggerimenti
Sun ha un articolo piuttosto interessante sulla gestione della memoria Java sul Web in formato PDF:memorymanagement_whitepaper
Non so esattamente come eseguono il loro bytecode, ma ho trovato questo collegamento descrivendo il bytecode di Java.Non sono sicuro che sia d'aiuto, ma almeno è qualcosa con cui iniziare.
Citazione:
Questo articolo ti offre una comprensione del bytecode Java che ti consentirà di essere un programmatore migliore.Come un compilatore C o C++ traduce il codice sorgente in codice assembler, i compilatori Java traducono il codice sorgente Java in bytecode.I programmatori Java dovrebbero prendersi il tempo per capire cos'è il bytecode, come funziona e, soprattutto, quale bytecode viene generato dal compilatore Java.In alcuni casi, il bytecode generato non è quello previsto.