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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top