Sono nella mia prima settimana di college laureandomi in informatica. Il codice sorgente java può essere eseguito direttamente da JVM?
Sono nella mia prima settimana di college laureandomi in informatica. Il codice sorgente java può essere eseguito direttamente da JVM?
No, non può.
Il nome " Java VM " è un po 'improprio. La JVM è nata come parte della piattaforma Java, ma in realtà è indipendente da Java. La JVM non esegue nemmeno Java (esegue la propria lingua, che AFAIK non ha un nome, ma viene solitamente chiamato codice bytec JVM , codice bytec Java (altro termine improprio), o talvolta JVML ) né Java richiede una JVM (potresti anche interpretare Java direttamente, compilarlo in codice macchina nativo, compilarlo in ECMAScript, compilarlo in bytecode CLI CIL, ecc.)
La piattaforma Java è composta da tre componenti:
Sono tutti indipendenti l'uno dall'altro. Ad esempio, è possibile utilizzare Java senza JVM e le librerie, ad es. su Android. Android ha un diverso formato bytecode per una VM diversa e ha librerie diverse. Puoi anche utilizzare JVM e Librerie senza Java, ad es. da Scala, Clojure, ECMAScript, Ruby, Python, PHP, Fantom, Groovy, Frege e così via.
No. Java VM non può eseguire (interpretare) il codice sorgente. Il codice deve essere compilato per primo, generando un file di codice byte (.class) che può essere interpretato ed eseguito dalle JVM. La compilazione Java non genera neanche eseguibili nativi.
Il bytecode è un set di istruzioni intermedie indipendente dalla piattaforma e può quindi essere eseguito in JVM di diversi OS. Ogni JVM è compilata per il suo SO host che gli consente di interpretare il bytecode e di compilarlo nelle istruzioni native della CPU durante il runtime.
Risposta breve - no.
Per analogia:
Puoi guidare la tua auto su dinosauri ?
Certo che no. Anche se ci fosse un po 'in giro per provarlo, non si adatterebbero (o vorranno ottenere) nel serbatoio.
Riesci a guidare la tua auto sui batteri, sul calore e sui resti trattati con la pressione dei dinosauri?
Sì. Lo chiamiamo petrolio.
Tu ed io scriviamo il codice sorgente.
Un compilatore lo converte in un codice byte che memorizziamo in file [jar].
Java RunTime può collegare-caricare quei file in qualcosa che un computer può effettivamente eseguire. Non c'è una scorciatoia.