2013-10-03 18 views
5

如何找到當前運行的Java虛擬機名稱的名稱?我想從Java API獲取它。如何獲得運行Java VM的名稱?

謝謝

+0

'ps aux | grep'java'' –

+0

@JigarJoshi,尋找java API。 –

+1

你也可以通過java來完成,並寫一點api –

回答

6

既然你沒有真正說明你在找什麼,看看這些系統屬性:

  • "java.vm.name"
  • "java.home"
  • "java.version"
  • "java.vendor"
  • "java.specification.vendor"

像這樣:

System.out.println(System.getProperty("java.vm.name")); 
System.out.println(System.getProperty("java.home")); 
System.out.println(System.getProperty("java.vendor")); 
System.out.println(System.getProperty("java.version")); 
System.out.println(System.getProperty("java.specification.vendor")); 
+0

它是ManagementFactory.getRuntimeMXBean()。getName() –

0

System.getProperty("java.version")應該做的伎倆

-2
String name = System.getProperty("java.vm.name"); 

否則您需要通過「名稱」來定義您的意思。

+1

-1這不會在以前給出的答案中未添加的對話中添加任何內容。 – Supuhstar

+0

@Supuhstar除了[一](http://stackoverflow.com/a/19165338/207421)之外,它爲每個答案增加了一些內容,這些內容早於6分鐘發佈。 – EJP

+1

Dennis Tulskiy和Martin Courteaux在回答問題發佈前已經說了一年多了。 – Supuhstar

0

有兩種JVM的名字分別是:

  1. Java虛擬機實現的名字:Java的熱點(TM)客戶機VM
  2. Java虛擬機規範供應商:Oracle公司

類型在java程序中看到輸出: -

System.out.println("Java Virtual Machine specification version : "+System.getProperty("java.vm.specification.version")); 
System.out.println("Java Virtual Machine specification vendor : "+System.getProperty("java.vm.specification.vendor")); 
System.out.println("Java Virtual Machine specification name : "+System.getProperty("java.vm.specification.name")); 
System.out.println("Java Virtual Machine implementation version : "+System.getProperty("java.vm.version")); 
System.out.println("Java Virtual Machine implementation vendor : "+System.getProperty("java.vm.vendor")); 
System.out.println("Java Virtual Machine implementation name : "+System.getProperty("java.vm.name")); 

re FER https://docs.oracle.com/cd/E15289_01/doc.40/e15062/sysprop.htm

see output of java -version

要知道烏爾JVM供應商:在cmd中 型java -version,看看它的第三行。

例如:

C:\用戶\插孔> Java的版本

Java版本 「1.8.0_74」

的Java(TM)SE運行時環境(建立1.8.0_74- b02)

Java HotSpot(TM)Client VM(build 25。74-b02,混合模式)