2015-10-29 16 views
7

Stavo passando attraverso jre del server, quando ho estratto serverjre tar.gz, mi ha dato la cartella jdk. perché serverJRE fornisce una cartella simile a JDK. C'è anche una cartella JRE all'interno del serverJRE. Quindi quale usare, intera serverJRE o solo la cartella JRE che si trova all'interno di serverJRE. Anche i contenuti di JRE all'interno del serverJRE sono gli stessi di JRE all'interno di JDK.Differenza tra server JRE e client JRE

Non capisco la differenza.

+1

Hai menzionato java 6 e java 8 nei tag. Di cosa stai parlando? E di quale file tar.gz stai parlando? Qual è il nome completo del file che hai scaricato? –

+0

non c'era nessun tag che dichiarasse jdk1.8 quindi ho usato java 8. btw qui non sono ottimista riguardo a verso di java. la mia domanda è diversa. –

+1

@Tunaki posso suggerire di aggiungere https://stackoverflow.com/questions/21057365/oracles-server-jre-contains-jdk come secondo duplicato? Il duplicato corrente spiega le differenze tra i due, ma non la struttura della cartella OP chiede informazioni. – Stijn

risposta

9

Server JRE: Viene utilizzato per distribuire applicazioni java con esecuzione prolungata sul server. Fornisce la massima velocità operativa possibile. È stato specificamente messo a punto per massimizzare la massima velocità operativa. Ha algoritmi altamente aggressivi per ottimizzare le prestazioni di runtime dell'applicazione java. Include anche una varietà di strumenti di monitoraggio.

Client JRE: Viene utilizzato per eseguire applicazioni java sui sistemi degli utenti finali. Contiene tutto per eseguire le applicazioni java. Può avviarsi più rapidamente e richiede un minore ingombro di memoria.

+0

concordato ...ma perché serverJRE viene come JDK. quando ho estratto "serverjre.tar.gz" mi ha dato una cartella chiamata "jdk". –

+0

Penso che i file serverJRE stiano installando nella directory JDK, ecco perché la tua cartella si chiama ".jdk". Basta controllare la directory di installazione. –

+1

Molte volte i server installano app Web, contenenti JSP o simili che richiedono la compilazione del JDK. – Verhagen

1

Da Oracle's page.

Il Server JRE include strumenti per il monitoraggio JVM e strumenti comunemente necessari per le applicazioni server, ma non include il browser integrazione (il plug-in Java).

Quindi la differenza è incredibilmente piccola. Ciò significherebbe anche che la differenza tra il server JRE e il JDK sembra essere principalmente il fatto che il JDK abbia un compilatore. Non mi ero nemmeno reso conto di aver trasformato i JRE in prodotti separati, ma nel corso degli anni non ricordo che qualcuno abbia mai suggerito il Cliente JRE a nessuno.

Considerando che le applet sono quasi morte, non vedo alcun motivo valido per scaricare il client JRE. Poi di nuovo non sono nel business per Java desktop, quindi chi lo sa.

+0

quindi kayaman, useresti l'intero serverJRE o solo la cartella JRE all'interno del serverJRE. perchè entrambi fa il lavoro. –

+0

Generalmente ho il JDK sui server, dal momento che voglio che tutti gli strumenti siano disponibili nel caso qualcosa vada storto e ho bisogno di svegliarmi di notte per sistemarlo. – Kayaman

+1

Raccomando sempre di installare JDK perché in questo modo gli utenti non rischiano di installare crapware (Ask Toolbar, ecc.). Questo dovrebbe essere una ragione sufficiente. Oltre a ciò, per 64 bit, non esiste comunque alcun client JVM, quindi non ci sono differenze tecniche sotto il cofano ... – Holger

0

Non penso che la gente capisse da dove provenisse l'OP e mi sono imbattuto in questo. Quello che segue è un contesto dettagliato.

Come gli ultimi aggiornamenti trimestrali directory livello principale all'interno del server JRE tar gzip all'interno di "p22187044_17095_Linux-x86-64.zip" è "jdk1.7.0_95"

IMO, questo è sciatto su Oracle parte. Nel caso in cui sia necessario lavorare con entrambi e tentare di estrarre ciascuno nella stessa directory, si estrarranno entrambi nella stessa directory.

$ unzip p22187044_17095_Linux-x86-64.zip server-jre-7u95-linux-x64.tar.gz 
$ tar xzvf server-jre-7u95-linux-x64.tar.gz 
# Extracted files with top-level directory: "jdk1.7.0_95" 
# This polluted my previously extracted JDK (See differences below). 

# Get a clean JDK 7 again: 
$ rm -rf jdk1.7.0_95/ 

$ tar xzvf jdk-7u95-linux-x64.tar.gz 

# Try again with the JRE; this time creating a container directory for the tar extraction: 
$ mkdir jre1.7.0_95 && tar xzvf server-jre-7u95-linux-x64.tar.gz -C jre1.7.0_95/ 
# Directory "jre1.7.0_95/" contains top-level directory "jdk1.7.0_95" 

# Let's look at the differences: 
$ diff -qr jdk1.7.0_95  jre1.7.0_95/jdk1.7.0_95/ 

Only in jdk1.7.0_95/bin: ControlPanel 
Only in jdk1.7.0_95/bin: javaws 
Only in jdk1.7.0_95/bin: jcontrol 
Only in jdk1.7.0_95/bin: jmc 
Only in jdk1.7.0_95/bin: jmc.ini 
Only in jdk1.7.0_95/jre/bin: ControlPanel 
Only in jdk1.7.0_95/jre/bin: java_vm 
Only in jdk1.7.0_95/jre/bin: javaws 
Only in jdk1.7.0_95/jre/bin: jcontrol 
Only in jdk1.7.0_95/jre/lib/amd64: libdeploy.so 
Only in jdk1.7.0_95/jre/lib/amd64: libjavaplugin_jni.so 
Only in jdk1.7.0_95/jre/lib/amd64: libnpjp2.so 
Files jdk1.7.0_95/jre/lib/charsets.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/charsets.jar differ 
Only in jdk1.7.0_95/jre/lib: deploy 
Only in jdk1.7.0_95/jre/lib: deploy.jar 
Only in jdk1.7.0_95/jre/lib: desktop 
Files jdk1.7.0_95/jre/lib/ext/localedata.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/ext/localedata.jar differ 
Only in jdk1.7.0_95/jre/lib/images: icons 
Only in jdk1.7.0_95/jre/lib: javaws.jar 
Files jdk1.7.0_95/jre/lib/jfxrt.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/jfxrt.jar differ 
Files jdk1.7.0_95/jre/lib/jsse.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/jsse.jar differ 
Only in jdk1.7.0_95/jre/lib: locale 
Only in jdk1.7.0_95/jre/lib: plugin.jar 
Files jdk1.7.0_95/jre/lib/rt.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/rt.jar differ 
Only in jdk1.7.0_95/jre/lib/security: javaws.policy 
Only in jdk1.7.0_95/jre: plugin 
Only in jdk1.7.0_95/lib: missioncontrol 
Files jdk1.7.0_95/lib/tools.jar and jre1.7.0_95/jdk1.7.0_95/lib/tools.jar differ 
Only in jdk1.7.0_95/man/ja/man1: javaws.1 
Only in jdk1.7.0_95/man/ja_JP.UTF-8/man1: javaws.1 
Only in jdk1.7.0_95/man/man1: javaws.1 

# And the size of each: 
$ du -sh jdk1.7.0_95/ jre1.7.0_95/jdk1.7.0_95/ 

301M jdk1.7.0_95/ 
235M jre1.7.0_95/jdk1.7.0_95/ 

Alla fine, in realtà dipende dall'applicazione che si desidera utilizzare. Per le app dei fornitori. In genere faccio riferimento alle loro raccomandazioni. Se non ce ne sono, io uso il JDK semplicemente perché include più "cose" che non voglio scoprire è necessario in una data successiva in quanto non esiste un modo semplice per esercitare tutti i casi d'uso di un'app interattiva.

Problemi correlati