Ответ 1
String computername=InetAddress.getLocalHost().getHostName();
System.out.println(computername);
Как получить физическое имя компьютера, в котором работает jvm?
(Physical = OS, до vmware...)
String computername=InetAddress.getLocalHost().getHostName();
System.out.println(computername);
Пара вариантов, так как я не уверен, что вы хотите:
RuntimeMXBean rmx = ManagementFactory.getRunTimeMXBean();
System.out.println(rmx.getName());
Или...
System.out.println(InetAddress.getLocalHost().getHostName());
Или в Linux
Runtime r = Runtime.getRuntime();
Process p = r.exec("uname -a");
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream());
System.out.println(r.readLine());
В Windows, если вы хотите имя рабочей станции, вы можете использовать:
System.getenv("COMPUTERNAME")
Я не совсем уверен, что вы подразумеваете под именем физической машины. Ваш комментарий "(Physical = OS, до vmware...)" мне нужно объяснить.
Но вы можете использовать System.getProperty(String key), где ключ является одним из найденных здесь ключей: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#getProperties()
Это должно указывать имя ОС. Если вам нужно имя хоста, используйте совет jsight.