puis-je exécuter plus d'une JVM sur mon PC?
Puis-je exécuter plus d'une JVM? Si oui, alors comment puis-je trouver une classe particulière est chargé sur lequel JVM?
pourquoi voudriez-vous savoir ce que VM a la classe chargée? Si nous savons que nous pourrions peut-être être en mesure de vous donner une réponse.
Cela sonne comme vous essayez de faire quelque chose de ce qui devrait être fait d'une autre manière. Vous ne devriez pas besoin de connaître quelle classe est chargé sur une JVM.
Cela sonne comme vous essayez de faire quelque chose de ce qui devrait être fait d'une autre manière. Vous ne devriez pas besoin de connaître quelle classe est chargé sur une JVM.
OriginalL'auteur giri | 2009-12-31
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas tout à fait clair ce que tu veux dire, mais:
java
processus, qu'ils soient de la même JVM version différentesSauf si vous êtes en cours d'exécution d'un agent de débogage ou quelque chose de similaire, je ne sais pas de toute façon de demander à un processus de JVM si il est chargé d'une classe particulière. Il semble un peu bizarre exigence - pourquoi voulez-vous faire cela?
OriginalL'auteur Jon Skeet
Oui, vous pouvez exécuter plusieurs JVM sur une seule machine.
Soleil paquets les outils pour lancer la jvm en quelques manières différentes. Généralement, ou bien vous avez un kit de développement java (jdk) ou java standard edition (jse) installé en tant que par défaut. Ces forfaits incluent un
java
programme qui est appelé à démarrer une machine virtuelle java. En outre, le jdk contient également quelques commandes supplémentaires (commejavac
) pour les développeurs.Vous pouvez avoir plusieurs jdk et ou jse est disponible sur une seule machine. Sur windows, jdk et jse les colis sont généralement installés sous
Program Files/java
(c'est de mémoire que je n'ai pas de pc à portée de main au moment)Sur Mac regarder dans /System/Library/Frameworks/JavaVM.framework/Versions.
Sur Linux, je voudrais utiliser
which java
de commande pour déterminer où le défautjava
de commande est installé (généralement /usr/bin). Puis faire unls -al | grep java
(dans /usr/bin, par exemple) et de la note de l'endroit où les liens symboliques dans le but de comprendre d'où il pourrait y avoir d'autres versions installées.Une fois que vous avez compris où chacun des différents jdk et jse sont situées sur votre système, vous pouvez alors commencer à comprendre la version de java est utilisé pour démarrer chacun des programmes.
Chaque programme java sera démarrage à l'aide de la jvm par défaut. Ouvrez une fenêtre de commande ou d'un terminal et d'essayer
java -version
pour déterminer quelle version est la valeur par défaut.Plutôt que d'utiliser la valeur par défaut de la version java, les programmes peuvent également être commencé à utiliser une version de java. Par exemple, parfois je créer un raccourci windows pour ouvrir Eclipse à l'aide d'une version spécifique du jdk.
De java 5, il existe un outil nommé jconsole qui peut également vous aider à déterminer quels programmes sont en cours d'exécution dans lequel verions de jvm. Il suffit d'ouvrir une console et tapez
jconsole
et vous devriez obtenir une jolie interface graphique qui montre tous les programmes en cours d'exécution dans la jvm par défaut. Je pense que vous pourriez même être en mesure d'inspecter les programmes de classpath.Espère que ça aide, bonne chance!
OriginalL'auteur Upgradingdave
Vous pouvez exécuter autant de machines virtuelles que vous pouvez tenir sur votre disque et en mémoire 🙂
Chaque fois que vous démarrez une application Java, vous êtes le premier démarrage de la JVM et puis dire que l'application à exécuter. La réponse à "qui JVM" est tout simplement: La JVM que vous avez chargé de l'application avec!
Il est possible de faire quelques ésotérique de jongler avec les chargeurs de classe qui tendrait à prouver une exception à ce que je viens de dire. Mais c'est vrai dans le cas général, et la majorité de toutes les applications.
OriginalL'auteur Carl Smotricz
Oui - il suffit d'exécuter la "java" processus
Le " jps " programme est distribué avec le SDK JAVA de la liste de tous les processus java (JVM) ruinning sur votre machine, la classe principale qui est en cours d'exécution par chaque JVM et le chemin de la classe. Vous aurez à voir les pots ou les classes sont sur chaque classpath pour déterminer si une classe est chargée ou non.
essayez d'exécuter
et voir ce que vous obtenez
OriginalL'auteur emeraldjava
Oui,vous pouvez installer plus d'une jvm dans votre PC, parce que les OS charge une instance de la jvm (et non l'ensemble de la jvm) dans la mémoire RAM. Nous pouvons appeler les différentes jvm comme JDK JDK 1.4 ou 1.6 en définissant son chemin.
OriginalL'auteur kamal nayan
Plusieurs JRE (Java Runtime Environnement) est très possible. - Je le faire. Le truc, c'est de la JVM n'est pas toujours fonctionner sur votre système. C'est comme n'importe quel autre logiciel. Lorsque vous exécutez un fichier jar, il commence à courir.
La valeur par défaut JRE est défini dans les Variables d'Environnement comme JAVA_HOME (cliquez-droit sur mon ordinateur -> propriétés -> onglet avancé -> Variables d'Environnement)
Pour exécuter un fichier jar, il vous suffit d'exécuter cette commande:
Vous pouvez utiliser n'importe quel autre jre javaw dans d'exécuter un fichier jar.
Veuillez noter que j2re1.4.2_04 peut-être pas à votre version du jre.
Edit:
Toutes les classes dans un fichier jar fonctionner sur une seule machine virtuelle java. Comme vous pouvez le deviner. Voir votre JAVA_HOME, c'est la valeur par défaut.
OriginalL'auteur JCasso
Vous pouvez exécuter autant que vous le souhaitez de la JVM sur la même machine. Vous avez juste besoin d'ouvrir plusieurs CommandPrompt windows et exécutez ce que vous voulez via
java
oujavaw
application. La classe que chacun de la JVM est en cours d'exécution est la classe qui contient lamain()
méthode. Méthode main() est la première chose qui s'exécute lorsque vous démarrer une application Java. Bien sûr, main() se trouve dans l'un de vos classes. C'est tout.OriginalL'auteur nrg