web-dev-qa-db-fra.com

Différence entre le serveur JRE et le client JRE

Je passais par serveur jre, quand j'ai extrait serverjre tar.gz, il m'a donné le dossier jdk. pourquoi serverJRE donne JDK comme dossier. Il y a également un dossier JRE dans serverJRE. Donc lequel utiliser, tout le dossier serverJRE ou juste le dossier JRE qui se trouve à l'intérieur de serverJRE. De plus, le contenu de JRE dans serverJRE est identique à celui de JRE dans JDK. 

Je ne comprends pas la différence.

10
Kaustubh_Kharche

Server JRE: Il est utilisé pour déployer des applications Java de longue durée sur le serveur. Il fournit la vitesse de fonctionnement la plus rapide possible. Il a été spécialement mis au point pour maximiser la vitesse maximale de fonctionnement. Il utilise des algorithmes très agressifs pour optimiser les performances d'exécution des applications Java. Il comprend également divers outils de surveillance.

Client JRE: Il est utilisé pour exécuter des applications Java sur les systèmes des utilisateurs finaux. Il contient tout pour exécuter les applications Java. Il peut démarrer plus rapidement et nécessite une empreinte mémoire réduite.

15
Kevin Andrid

De la page d'Oracle .

Le serveur JRE comprend des outils pour la surveillance de la machine virtuelle Java et des outils couramment utilisés requis pour les applications serveur, mais n'inclut pas le navigateur intégration (le plug-in Java).

Donc, la différence est incroyablement petite. Cela signifierait également que la différence entre Server JRE et le JDK semble être principalement que le JDK a un compilateur. Je ne savais même pas qu'ils avaient transformé les JRE en produits distincts, mais au fil des ans, je ne me souviens de personne qui ait jamais suggéré le client JRE à qui que ce soit.

Considérant que les applets sont presque morts, je ne vois aucune bonne raison de télécharger le JRE client. Là encore, je ne suis pas dans les affaires pour le Java de bureau, alors qui sait.

2
Kayaman

Je ne pense pas que les gens aient compris d'où venait le PO et je me suis heurté à cela. Ce qui suit est un contexte détaillé.

Depuis la dernière mise à jour trimestrielle, le répertoire de niveau racine à l'intérieur de la balle tar compressée dans le serveur jre à l'intérieur de "p22187044_17095_Linux-x86-64.Zip" est "jdk1.7.0_95".

OMI, c'est négligeable de la part d'Oracle. Si vous devez utiliser les deux et tenter de les extraire dans le même répertoire, vous allez les extraire dans le même répertoire.

$ 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/

En fin de compte, cela dépend vraiment de votre application à utiliser. Pour les applications des fournisseurs. Je me réfère généralement à leurs recommandations. S'il n'y en a pas, j'utilise le JDK simplement parce qu'il contient plus de "fichiers" que je ne souhaite pas découvrir plus tard, car il n'existe pas de moyen simple d'exercer tous les cas d'utilisation d'une application interactive. 

0
user3183018