java - 获取正在运行的 Java 进程的 Java 版本

标签 java jstack

我可以使用 jps 来列出正在运行的 java 进程,并使用 jstack -l process_id 来获取正在运行的 java 进程的堆栈信息。我想知道这个过程在哪个 java 版本上运行。有办法吗?我不必使用 jstack 工具。谢谢。

jstack -l 23819 2014-11-12 12:36:11 全线程转储 OpenJDK 64 位服务器 VM(23.25-b01 混合模式):

“附加监听器”守护进程 prio=10 tid=0x000000000272f800 nid=0x614b 等待条件 [0x0000000000000000] java.lang.Thread.State: 可运行

锁定可拥有的同步器: - 无

最佳答案

你可以通过 jcmd 来完成,就像这样:

jcmd process_id VM.version

关于java - 获取正在运行的 Java 进程的 Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26896182/

相关文章:

java - Visual Studio + Xamarin 中不受支持的 major.minor 版本 52.0

java - jstack 文件中的 IN_NATIVE 是什么意思?

java - 混合模式下的 jstack : WrongTypeException: No suitable match for type of address

java - java 1.4 支持 -javaagent 吗?

java - 使用 ascii 编码而不是字符实体对 xml 进行编码

java - 是否有必要以 root 身份运行 jstack -F(在 Linux 上),如果是,为什么?

tomcat - 在不重启 tomcat 的情况下获取应用程序的线程转储

javascript - 从 Java 运行 Javascript(但需要 jQuery、DOM 和 ajax)

java - 在 Android 中创建用于检查互联网连接的对话框