Je viens de découvrir récemment les différentes machines virtuelles sur la page wiki et je pensais commencer à bricoler. Il a été difficile de trouver de la documentation sur la façon de configurer Java sur Ubuntu.
Disons que je voulais changer le JRE ou le JDK que j'utilise, je pourrais ouvrir un terminal et dire
Sudo update-alternatives --config Java
Et puis choisissez l'une des versions installées.
Si je comprends bien le droit de la JVM (ce que je peux très bien ne pas être), vous pouvez configurer OpenJDK pour utiliser d'autres JVM (par exemple, JAMVM) et l'exécuter en tant que tel.
jamvm -jar foo.jar
2 questions
1: Ai-je le concept d'une machine virtuelle Java à droite? Comme dans, est-ce possible?
2: Si oui, comment puis-je configurer la machine virtuelle Java et basculer la valeur par défaut sur une machine virtuelle de mon choix?
N'hésitez pas à utiliser cela comme référence au bricolage avec Java au moment de l'exécution.
Pour choisir votre JRE, utilisez
Sudo update-alternatives --config Java
Cela donnera quelque chose comme la sortie suivante.
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/Java-6-openjdk/jre/bin/Java 1061 auto mode
* 1 /usr/lib/jvm/Java-6-openjdk/jre/bin/Java 1061 manual mode
2 /usr/lib/jvm/Java-6-Sun/jre/bin/Java 63 manual mode
3 /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java 1051 manual mode
Vous pouvez ensuite sélectionner le runtime Java de votre choix via la sélection de numéro.
Sun/Oracle ont deux choix de machine virtuelle Java, -server et -client. Si vous sélectionnez OpenJDK comme environnement d'exécution Java, vous disposez d'options supplémentaires.
Lorsque vous tapez Java
dans le terminal sans autre paramètre, l'aide répertorie plusieurs ordinateurs virtuels facultatifs. Je ne sais pas lesquels sont fournis avec OpenJDK, mais 3 les plus populaires sont JamVM, Zero et Cacao.
Pour les utiliser, tapez simplement
Java -jamvm 'your other parameters here'
Java -cacao 'your other parameters here'
Java -zero 'your other parameters here'
Java -server 'your other parameters here
Le -server VM est normalement la valeur par défaut. Vous pouvez également spécifier -client
mais dans IcedTea6 64 bits, il semble exécuter la même version que -server. Il y en a probablement d’autres mais je trouve que l’option par défaut est la plus réactive.
Enfin, comment définir la mémoire de Java (juste parce que)
Java -Xmx1024m -Xms128m 'your other parameters here'
Cela limite la mémoire autorisée pour le programme Java à un maximum de 1024 Mo et définit sa taille de mémoire initiale à 128 Mo. C'est un excellent moyen de définir les exigences système minimales. La page de manuel Java 6 de la commande Java
décrit ces options et d’autres.
C'est tout. Si quelqu'un a des modifications supplémentaires Java pour Ubuntu, laissez-les dans les commentaires et je les ajouterai.
Pour définir la machine virtuelle Java par défaut dans une installation OpenJDK, vous devez modifier le fichier de configuration jvm.cfg situé dans le répertoire/usr/lib/jvm/Java -version - openjdk -Arch /jre/lib/Arch/jvm.cfg
Ubuntu expose le fichier jvm.cfg dans le répertoire/etc/en fonction de la version d'OpenJDK. /etc/Java-6-openjdk/jvm-(Arch.cfg ou /etc/Java-7-openjdk/jvm-Arch.cfg
La ligne la plus en haut -jvmname CONNU du fichier jvm.cfg détermine la JVM par défaut.
Il n'y a pas d'outil de configuration disponible, vous devez donc localiser et éditer ces fichiers manuellement.