Jon*_*eet 14
你的意思并不完全清楚,但是:
java进程,无论是相同的JVM版本还是不同的JVM版本除非您正在运行调试代理或类似的东西,否则我不知道有任何方法可以询问JVM进程是否加载了特定的类.这似乎有点奇怪的要求 - 你为什么要这样做?
您可以在磁盘和内存中运行尽可能多的JVM :)
每当启动Java应用程序时,您首先启动JVM,然后告诉它运行哪个应用程序."哪个JVM"的答案很简单:你加载应用程序的JVM!
有可能对类加载器进行一些深奥的调整,这将证明我刚才所说的例外.但在一般情况下和大多数应用程序中都是如此.
是的,您可以在一台计算机上运行多个JVM.
Sun以几种不同的方式打包工具以运行jvm.通常,您要么安装了Java开发工具包(jdk)或java标准版(jse)作为默认设置.这些包包括一个java被调用来启动jvm的程序.此外,jdk还包含一些javac针对开发人员的附加命令(如).
您可以在一台计算机上使用多个jdk和/或jse.在Windows上,jdk和jse软件包通常安装在Program Files/java(这是来自内存,因为我目前没有便携式电脑)
在Mac上查看/System/Library/Frameworks/JavaVM.framework/Versions.
在Linux上,我将使用which java命令来确定默认java命令的安装位置(通常为/ usr/bin).然后执行ls -al | grep java(例如在/ usr/bin中)并记下符号链接指向的位置,以便找出可能安装了其他版本的位置.
一旦你弄清楚你的系统中各种jdk和jse的位置,你就可以开始找出用于启动每个程序的java版本.
每个java程序都将使用默认的jvm启动.打开命令窗口或终端,尝试java -version确定哪个版本是当前默认值.
程序也可以启动使用特定的java版本,而不是使用默认的java版本.例如,有时我使用特定版本的jdk创建一个自定义窗口快捷方式来打开Eclipse.
从java 5开始,有一个名为jconsole的工具,它可能还可以帮助您确定哪些程序在jvms的哪些版本中运行.只需打开一个控制台,然后键入即可jconsole获得一个漂亮的GUI,显示默认jvm中运行的所有程序.我想你甚至可以检查程序类路径.
希望有所帮助,祝你好运!
| 归档时间: |
|
| 查看次数: |
30780 次 |
| 最近记录: |