2012-04-08 22 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

相關問題