SysUtil { public static String jvmInfo(String spliteStr) { StringBuilder sb = new StringBuilder(); InetAddress addr = null; String ip = ""; try { addr = InetAddress.getLocalHost(); ip = addr.getHostAddress(); } catch (UnknownHostException e) { log.error("虚拟机地址", e); } Properties props = System.getProperties(); Map<String, String> map = System.getenv(); sb.append("用户名: " + map.get("USERNAME")).append(spliteStr); sb.append("计算机名: " + map.get("COMPUTERNAME")).append(spliteStr); sb.append("计算机域名: " + map.get("USERDOMAIN")).append(spliteStr); sb.append("本地ip地址: " + ip).append(spliteStr); sb.append("本地主机名: " + addr.getHostName()).append(spliteStr); sb.append("JVM可以使用的总内存: " + totalMemory()).append(spliteStr); sb.append("JVM可以使用的剩余内存: " + freeMemory()).append(spliteStr); sb.append("JVM可以使用的处理器个数: " + availableProcessors()).append(spliteStr); sb.append("Java的运行环境版本： " + props.getProperty("java.version")).append(spliteStr); sb.append("Java的运行环境供应商： " + props.getProperty("java.vendor")).append(spliteStr); sb.append("Java供应商的URL： " + props.getProperty("java.vendor.url")).append(spliteStr); sb.append("Java的安装路径： " + props.getProperty("java.home")).append(spliteStr); sb.append("Java的虚拟机规范版本： " + props.getProperty("java.vm.specification.version")).append(spliteStr); sb.append("Java的虚拟机规范供应商： " + props.getProperty("java.vm.specification.vendor")).append(spliteStr); sb.append("Java的虚拟机规范名称： " + props.getProperty("java.vm.specification.name")).append(spliteStr); sb.append("Java的虚拟机实现版本： " + props.getProperty("java.vm.version")).append(spliteStr); sb.append("Java的虚拟机实现供应商： " + props.getProperty("java.vm.vendor")).append(spliteStr); sb.append("Java的虚拟机实现名称： " + props.getProperty("java.vm.name")).append(spliteStr); sb.append("Java运行时环境规范版本： " + props.getProperty("java.specification.version")).append(spliteStr); sb.append("Java运行时环境规范供应商： " + props.getProperty("java.specification.vender")).append(spliteStr); sb.append("Java运行时环境规范名称： " + props.getProperty("java.specification.name")).append(spliteStr); sb.append("Java的类格式版本号： " + props.getProperty("java.class.version")).append(spliteStr); sb.append("加载库时搜索的路径列表： " + props.getProperty("java.library.path")).append(spliteStr); sb.append("默认的临时文件路径： " + props.getProperty("java.io.tmpdir")).append(spliteStr); sb.append("一个或多个扩展目录的路径： " + props.getProperty("java.ext.dirs")).append(spliteStr); sb.append("操作系统的名称： " + props.getProperty("os.name")).append(spliteStr); sb.append("操作系统的构架： " + props.getProperty("os.arch")).append(spliteStr); sb.append("操作系统的版本： " + props.getProperty("os.version")).append(spliteStr); sb.append("文件分隔符： " + props.getProperty("file.separator")).append(spliteStr); sb.append("路径分隔符： " + props.getProperty("path.separator")).append(spliteStr); sb.append("行分隔符： " + props.getProperty("line.separator")).append(spliteStr); sb.append("用户的账户名称： " + props.getProperty("user.name")).append(spliteStr); sb.append("用户的主目录： " + props.getProperty("user.home")).append(spliteStr); sb.append("用户的当前工作目录： " + props.getProperty("user.dir")).append(spliteStr); sb.append(classLoadInfo(spliteStr)); sb.append(compilationInfo(spliteStr)); sb.append(collectionInfo(spliteStr)); sb.append(memoryInfo(spliteStr)); sb.append(osInfo(spliteStr)); return sb.toString(); } private  SysUtil(); static void exit(Class<?> cls, Exception e, String info, Object... obs); static int availableProcessors(); static int freeMemory(); static int totalMemory(); static int maxMemory(); static String classLoadInfo(String spliteStr); static String compilationInfo(String spliteStr); static String collectionInfo(String spliteStr); static String memoryInfo(String spliteStr); static String osInfo(String spliteStr); static String threadInfo(String spliteStr); static String jvmInfo(String spliteStr);  }
@Test public void testJvmInfo() { System.err.println(SysUtil.jvmInfo("\r\n")); }