2012-04-08 80 views
0

有没有一种方法可以确定C#中的JVM版本(32位或64位)?我找到了一个可能的方法来做到这一点:http://forums.devshed.com/net-development-87/c-net-check-java-version-562395.html 它建议解析java -version命令返回的字符串并查找版本。假设以下内容来自32位版本是否安全?是否有可能在C#中确定JVM版本?

Java版本 “1.6.0_24” 的Java(TM)SE运行时环境(建立1.6.0_24-B07) 的HotSpot的Java(TM)客户端虚拟机(建设19.1 - B02,混合模式,共享)

在运行64位JVM的设备上,我看到64位字代替“客户端VM”。

+1

就我个人而言,我的所有.NET应用程序都会立即卸载系统启动时发现的任何JVM。所以我不能回答这个问题。 ;) – 2012-04-08 15:53:04

回答

1

您找到的方法是合适的,但您需要记住,用户可能安装了多个不同的JVM版本,包括(在64位计算机上)32位和64位虚拟机。运行Java.exe时运行的只是路径中的最后一个。

如果在字符串中没有看到64位,则假定32位虚拟机可能是安全的。有关命名约定,请参阅http://java.sun.com/j2se/versioning_naming.html

相关问题