Qual è la differenza tra JDK, JRE e JVM?

Se sei un principiante di sviluppo di software Java come me, ti è stata posta questa domanda una o due volte prima (più che probabile in un’impostazione di intervista). E se siete come me, hai cercato di distinguere le differenze e hanno avuto un momento molto difficile farlo.

QUINDI — ho intenzione di tentare di scomporlo in pezzi di dimensioni morso gestibili, in modo che i neofiti come te e me possano avvolgere il nostro cervello attorno a queste tre graffette Java. Iniziamo con il significato di questi acronimi..,

JDK rappresenta il “Kit di sviluppo Java”.

JRE sta per “Java Runtime Environment”.

e JVM è semplicemente la “Macchina virtuale Java”.

Scomponendolo— il JDK: sia il JRE che la JVM possono essere alloggiati all’interno del JDK. Un JDK viene utilizzato per 1) sviluppare 2) eseguire e 3) visualizzare il codice. Il JDK è un superset del JRE e contiene tutto ciò che è nel JRE, oltre a strumenti come compilatori e debugger necessari per lo sviluppo di applet e applicazioni (StackOverflow)., Se sei uno sviluppatore interessato a creare le proprie applicazioni Java o applet, si desidera installare un JDK. Per gli sviluppatori che desiderano lavorare in un ambiente di sviluppo integrato (IDE), un JDK in bundle con Netbeans può essere scaricato dal sito web Oracle (Techopedia). Ci sono diversi JDK per soddisfare un’ampia varietà di piattaforme. In poche parole, il JDK è un ambiente di sviluppo software Java, utilizzato dagli sviluppatori per creare e gestire applicazioni/applet.

OK! Ora entriamo nel JRE: In poche parole, il JRE rappresenta l’ambiente di runtime Java., Questo è dove il codice è 1) eseguito E 2) visualizzato. Il JRE contiene una macchina virtuale Java, librerie di classi e altri file di supporto. È essenziale eseguire un’applicazione/applet Java. Secondo Techopedia, il JRE è costituito dai seguenti componenti:

  1. Tecnologie di distribuzione – tra cui la distribuzione, Java Web Start e Java Plug-in.,
  2. Librerie di integrazione-tra cui Interface Definition Language (IDL), Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP) e scripting.
  3. Altre librerie di base — incluso il supporto internazionale, input/output (I / O), meccanismo di estensione, Bean, Java Management Extensions (JMX), Java Native Interface (JNI), Matematica, Networking, Meccanismo di override, sicurezza, serializzazione e Java per l’elaborazione XML (XML JAXP).,
  4. Librerie di base Lang e util-tra cui lang e util, gestione delle versioni, zip, instrument, reflection, Collezioni, Utilità di concorrenza, Java Archive (JAR), registrazione, API preferenze, oggetti Ref ed espressioni regolari.
  5. Java Virtual Machine (JVM), incluse le macchine virtuali Java HotSpot Client e Server.

I nuovi JREs ospitano diverse migliaia di classi e sono state introdotte API completamente nuove.

Infine, parliamo dell’unità più piccola delle tre: la JVM!, La macchina virtuale Java visualizza le applicazioni Java / applet interpretando essenzialmente il codice byte Java in codice macchina. È responsabile di tutte le cose come la garbage collection, il controllo dei limiti degli array, ecc. JVM dipende dalla piattaforma (StackOverflow). Si chiama “virtuale” perché fornisce un’interfaccia macchina che non dipende dal sistema operativo sottostante e dall’architettura hardware della macchina. Grazie alla JVM, il codice Java può essere scritto una volta ed eseguito ovunque (su qualsiasi macchina)., In poche parole, la JVM ha due funzioni primarie 1) per consentire ai programmi Java di funzionare virtualmente su qualsiasi dispositivo o sistema operativo e 2) per gestire e ottimizzare la memoria del programma.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *