博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JRE环境查看工具
阅读量:6626 次
发布时间:2019-06-25

本文共 12699 字,大约阅读时间需要 42 分钟。

再做开发时候,常常需要查看下自己JRE的版本、所支持的字符集、当前JVM的默认字符集、系统属性等等。
 
常常令人感到很棘手,谁也说清楚。只有写个程序输出这些信息才知道。
 
下面查看的源码:
package lavasoft.common; 


import java.nio.charset.Charset; 

import java.util.*; 


/** 
* JRE环境查看工具 
* @author Administrator 2009-11-28 17:48:42 
*/
 

public 
class JVMInfoToolkit { 

        
public 
static 
void main(String[] args) { 

                System.out.println(
"当前JRE:" + System.getProperty(
"java.version")); 

                System.out.println(
"当前JVM的默认字符集:" + Charset.defaultCharset()); 

                System.out.println(
"当前JRE可用的字符集列表:\n" + genJVMCharset()); 

                System.out.println(
"当前JVM运行时系统属性列表\n:" + genJVMProperties()); 


        } 


        
/** 
         * 获取JVM所支持的字符集列表(格式为:字符集标准名称:[别名,别名...] 
         * 
         * @return 字符集列表 
         */
 

        
public 
static String genJVMCharset() { 

                StringBuilder sb = 
new StringBuilder(); 

                SortedMap<String, Charset> map = Charset.availableCharsets(); 

                
for (Map.Entry<String, Charset> entry : map.entrySet()) { 

                        sb.append(entry.getKey()).append(
":").append(entry.getValue().aliases()).append(
"\n"); 

                } 

                
return sb.toString(); 

        } 


        
/** 
         * 获取当前JVM运行时系统属性信息,并按照名称进行排序 
         * 
         * @return 系统属性信息 
         */
 

        
public 
static String genJVMProperties() { 

                StringBuilder sb = 
new StringBuilder(); 

                Properties props = System.getProperties(); 

                List<String> keylist = 
new ArrayList<String>(); 

                
for (Object o : props.keySet()) { 

                        keylist.add(o.toString()); 

                } 

                Collections.sort(keylist, String.CASE_INSENSITIVE_ORDER); 

                
for (String s : keylist) { 

                        sb.append(s).append(
"=").append(props.get(s)).append(
"\n"); 

                } 

                
return sb.toString(); 

        } 

}
 
运行下结果,太长了:
当前JRE:1.6.0_16 

当前JVM的默认字符集:GB18030 

当前JRE可用的字符集列表: 

Big5:[csBig5] 

Big5-HKSCS:[big5-hkscs:unicode3.0, Big5_HKSCS, big5-hkscs, big5hkscs, big5hk] 

EUC-JP:[eucjis, Extended_UNIX_Code_Packed_Format_for_Japanese, x-eucjp, eucjp, csEUCPkdFmtjapanese, euc_jp, x-euc-jp] 

EUC-KR:[5601, ksc5601-1987, ksc5601_1987, euckr, ksc5601, ksc_5601, ks_c_5601-1987, euc_kr, csEUCKR] 

GB18030:[gb18030-2000] 

GB2312:[euc-cn, x-EUC-CN, gb2312-1980, gb2312, gb2312-80, euccn, EUC_CN] 

GBK:[CP936, windows-936] 

IBM-Thai:[838, cp838, ibm838, ibm-838] 

IBM00858:[cp858, ccsid00858, 858, cp00858] 

IBM01140:[ccsid01140, cp01140, 1140, cp1140] 

IBM01141:[cp1141, ccsid01141, cp01141, 1141] 

IBM01142:[cp01142, cp1142, 1142, ccsid01142] 

IBM01143:[cp01143, 1143, ccsid01143, cp1143] 

IBM01144:[cp01144, cp1144, ccsid01144, 1144] 

IBM01145:[cp1145, cp01145, ccsid01145, 1145] 

IBM01146:[ccsid01146, cp01146, cp1146, 1146] 

IBM01147:[ccsid01147, cp1147, 1147, cp01147] 

IBM01148:[cp1148, ccsid01148, 1148, cp01148] 

IBM01149:[cp1149, cp01149, ccsid01149, 1149] 

IBM037:[cs-ebcdic-cp-nl, 037, cp037, ebcdic-cp-nl, ibm-37, ebcdic-cp-wt, cs-ebcdic-cp-us, ebcdic-cp-ca, cs-ebcdic-cp-wt, csIBM037, ibm-037, cs-ebcdic-cp-ca, cpibm37, ibm037, ebcdic-cp-us] 

IBM1026:[cp1026, ibm-1026, 1026, ibm1026] 

IBM1047:[cp1047, 1047, ibm-1047] 

IBM273:[ibm-273, ibm273, cp273, 273] 

IBM277:[cp277, 277, ibm-277, ibm277] 

IBM278:[cp278, ebcdic-cp-se, 278, ibm278, ebcdic-sv, ibm-278, csIBM278] 

IBM280:[280, ibm-280, cp280, ibm280] 

IBM284:[cpibm284, csIBM284, ibm284, cp284, 284, ibm-284] 

IBM285:[ibm285, ebcdic-cp-gb, cpibm285, cp285, csIBM285, ebcdic-gb, 285, ibm-285] 

IBM297:[cp297, ibm297, 297, cpibm297, ebcdic-cp-fr, ibm-297, csIBM297] 

IBM420:[ibm420, cp420, 420, ibm-420, csIBM420, ebcdic-cp-ar1] 

IBM424:[csIBM424, ibm-424, ibm424, cp424, ebcdic-cp-he, 424] 

IBM437:[ibm-437, windows-437, cspc8codepage437, 437, ibm437, cp437] 

IBM500:[ibm-500, ebcdic-cp-bh, cp500, csIBM500, ibm500, ebcdic-cp-ch, 500] 

IBM775:[ibm-775, cp775, ibm775, 775] 

IBM850:[ibm-850, cp850, 850, cspc850multilingual, ibm850] 

IBM852:[ibm852, csPCp852, 852, ibm-852, cp852] 

IBM855:[cspcp855, 855, ibm855, ibm-855, cp855] 

IBM857:[csIBM857, 857, ibm-857, cp857, ibm857] 

IBM860:[860, cp860, ibm-860, csIBM860, ibm860] 

IBM861:[861, cp-is, ibm-861, cp861, csIBM861, ibm861] 

IBM862:[ibm-862, ibm862, csIBM862, cp862, cspc862latinhebrew, 862] 

IBM863:[ibm863, csIBM863, cp863, 863, ibm-863] 

IBM864:[csIBM864, ibm864, 864, cp864, ibm-864] 

IBM865:[csIBM865, ibm865, 865, ibm-865, cp865] 

IBM866:[866, ibm-866, ibm866, csIBM866, cp866] 

IBM868:[868, ibm-868, cp868, csIBM868, cp-ar, ibm868] 

IBM869:[869, ibm-869, cp869, csIBM869, cp-gr, ibm869] 

IBM870:[ibm-870, ebcdic-cp-roece, ebcdic-cp-yu, ibm870, csIBM870, cp870, 870] 

IBM871:[ibm-871, 871, ebcdic-cp-is, cp871, csIBM871, ibm871] 

IBM918:[cp918, ebcdic-cp-ar2, ibm-918, 918] 

ISO-2022-CN:[ISO2022CN, csISO2022CN] 

ISO-2022-JP:[jis_encoding, csjisencoding, jis, iso2022jp, csISO2022JP] 

ISO-2022-JP-2:[csISO2022JP2, iso2022jp2] 

ISO-2022-KR:[csISO2022KR, ISO2022KR] 

ISO-8859-1:[csISOLatin1, IBM-819, iso-ir-100, 8859_1, ISO_8859-1, l1, ISO8859-1, ISO_8859_1, cp819, ISO8859_1, latin1, ISO_8859-1:1987, 819, IBM819] 

ISO-8859-13:[8859_13, iso8859_13, iso_8859-13, ISO8859-13] 

ISO-8859-15:[IBM923, 8859_15, ISO_8859-15, ISO-8859-15, L9, ISO8859-15, ISO8859_15_FDIS, 923, LATIN0, csISOlatin9, LATIN9, csISOlatin0, IBM-923, ISO8859_15, cp923] 

ISO-8859-2:[iso-ir-101, csISOLatin2, ibm-912, 8859_2, l2, ISO_8859-2, ibm912, 912, ISO8859-2, latin2, iso8859_2, ISO_8859-2:1987, cp912] 

ISO-8859-3:[ibm-913, csISOLatin3, iso-ir-109, l3, 8859_3, ibm913, ISO_8859-3, ISO8859-3, 913, latin3, iso8859_3, ISO_8859-3:1988, cp913] 

ISO-8859-4:[iso-ir-110, iso8859-4, ibm914, ibm-914, l4, csISOLatin4, 914, 8859_4, latin4, ISO_8859-4, ISO_8859-4:1988, iso8859_4, cp914] 

ISO-8859-5:[cp915, ISO8859-5, ibm915, ISO_8859-5:1988, ibm-915, 8859_5, 915, cyrillic, iso8859_5, ISO_8859-5, iso-ir-144, csISOLatinCyrillic] 

ISO-8859-6:[arabic, ibm1089, iso8859_6, iso-ir-127, 8859_6, cp1089, ECMA-114, ISO_8859-6, csISOLatinArabic, ibm-1089, 1089, ISO8859-6, ASMO-708, ISO_8859-6:1987] 

ISO-8859-7:[iso8859-7, sun_eu_greek, csISOLatinGreek, 813, ISO_8859-7, ISO_8859-7:1987, ibm-813, greek, greek8, iso8859_7, ECMA-118, iso-ir-126, 8859_7, cp813, ibm813, ELOT_928] 

ISO-8859-8:[ibm916, cp916, csISOLatinHebrew, ISO_8859-8, ISO8859-8, ibm-916, iso8859_8, hebrew, 916, iso-ir-138, ISO_8859-8:1988, 8859_8] 

ISO-8859-9:[ISO_8859-9, 920, iso8859_9, csISOLatin5, l5, 8859_9, latin5, ibm920, iso-ir-148, ISO_8859-9:1989, ISO8859-9, cp920, ibm-920] 

JIS_X0201:[JIS0201, JIS_X0201, X0201, csHalfWidthKatakana] 

JIS_X0212-1990:[csISO159JISX02121990, x0212, jis_x0212-1990, iso-ir-159, JIS0212] 

KOI8-R:[cskoi8r, koi8_r, koi8] 

KOI8-U:[koi8_u] 

Shift_JIS:[x-sjis, shift_jis, sjis, ms_kanji, shift-jis, csShiftJIS] 

TIS-620:[tis620.2533, tis620] 

US-ASCII:[cp367, ascii7, ISO646-US, 646, csASCII, us, iso_646.irv:1983, ISO_646.irv:1991, IBM367, ASCII, 
default, ANSI_X3.4-1986, ANSI_X3.4-1968, iso-ir-6] 

UTF-16:[utf16, UTF_16, UnicodeBig, unicode] 

UTF-16BE:[X-UTF-16BE, UTF_16BE, ISO-10646-UCS-2, UnicodeBigUnmarked] 

UTF-16LE:[UnicodeLittleUnmarked, UTF_16LE, X-UTF-16LE] 

UTF-32:[UTF_32, UTF32] 

UTF-32BE:[X-UTF-32BE, UTF_32BE] 

UTF-32LE:[X-UTF-32LE, UTF_32LE] 

UTF-8:[UTF8, unicode-1-1-utf-8] 

windows-1250:[cp1250, cp5346] 

windows-1251:[ansi-1251, cp5347, cp1251] 

windows-1252:[cp1252, cp5348] 

windows-1253:[cp1253, cp5349] 

windows-1254:[cp1254, cp5350] 

windows-1255:[cp1255] 

windows-1256:[cp1256] 

windows-1257:[cp1257, cp5353] 

windows-1258:[cp1258] 

windows-31j:[csWindows31J, windows-932, MS932] 

x-Big5-Solaris:[Big5_Solaris] 

x-euc-jp-linux:[euc-jp-linux, euc_jp_linux] 

x-EUC-TW:[euc_tw, EUC-TW, cns11643, euctw] 

x-eucJP-Open:[EUC_JP_Solaris, eucJP-open] 

x-IBM1006:[cp1006, ibm-1006, ibm1006, 1006] 

x-IBM1025:[cp1025, ibm-1025, 1025, ibm1025] 

x-IBM1046:[ibm-1046, cp1046, ibm1046, 1046] 

x-IBM1097:[cp1097, 1097, ibm-1097, ibm1097] 

x-IBM1098:[ibm-1098, cp1098, ibm1098, 1098] 

x-IBM1112:[ibm-1112, 1112, ibm1112, cp1112] 

x-IBM1122:[cp1122, ibm-1122, 1122, ibm1122] 

x-IBM1123:[cp1123, ibm-1123, 1123, ibm1123] 

x-IBM1124:[cp1124, ibm-1124, 1124, ibm1124] 

x-IBM1381:[ibm1381, cp1381, ibm-1381, 1381] 

x-IBM1383:[cp1383, 1383, ibm1383, ibm-1383] 

x-IBM33722:[ibm33722, 33722, ibm-33722_vascii_vpua, ibm-5050, ibm-33722, cp33722] 

x-IBM737:[cp737, ibm-737, 737, ibm737] 

x-IBM834:[ibm834, ibm-834, cp834] 

x-IBM856:[856, cp856, ibm-856, ibm856] 

x-IBM874:[cp874, ibm874, 874, ibm-874] 

x-IBM875:[ibm875, 875, cp875, ibm-875] 

x-IBM921:[cp921, ibm921, ibm-921, 921] 

x-IBM922:[ibm922, ibm-922, cp922, 922] 

x-IBM930:[cp930, ibm930, ibm-930, 930] 

x-IBM933:[cp933, 933, ibm933, ibm-933] 

x-IBM935:[ibm935, cp935, 935, ibm-935] 

x-IBM937:[ibm-937, cp937, 937, ibm937] 

x-IBM939:[ibm-939, ibm939, cp939, 939] 

x-IBM942:[ibm-942, ibm942, cp942, 942] 

x-IBM942C:[942C, ibm942C, cp942C, ibm-942C] 

x-IBM943:[943, ibm-943, cp943, ibm943] 

x-IBM943C:[ibm-943C, 943C, cp943C, ibm943C] 

x-IBM948:[ibm948, ibm-948, cp948, 948] 

x-IBM949:[ibm949, ibm-949, 949, cp949] 

x-IBM949C:[cp949C, 949C, ibm-949C, ibm949C] 

x-IBM950:[950, ibm950, cp950, ibm-950] 

x-IBM964:[964, cp964, ibm-964, ibm964] 

x-IBM970:[970, ibm-970, ibm970, cp970, ibm-eucKR] 

x-ISCII91:[iso-ir-153, ST_SEV_358-88, ISCII91, iscii, csISO153GOST1976874] 

x-ISO-2022-CN-CNS:[ISO-2022-CN-CNS, ISO2022CN_CNS] 

x-ISO-2022-CN-GB:[ISO-2022-CN-GB, ISO2022CN_GB] 

x-iso-8859-11:[iso-8859-11, iso8859_11] 

x-JIS0208:[JIS_X0208-1983, x0208, JIS0208, JIS_C6226-1983, iso-ir-87, csISO87JISX0208] 

x-JISAutoDetect:[JISAutoDetect] 

x-Johab:[ksc5601_1992, ms1361, ksc5601-1992, johab] 

x-MacArabic:[MacArabic] 

x-MacCentralEurope:[MacCentralEurope] 

x-MacCroatian:[MacCroatian] 

x-MacCyrillic:[MacCyrillic] 

x-MacDingbat:[MacDingbat] 

x-MacGreek:[MacGreek] 

x-MacHebrew:[MacHebrew] 

x-MacIceland:[MacIceland] 

x-MacRoman:[MacRoman] 

x-MacRomania:[MacRomania] 

x-MacSymbol:[MacSymbol] 

x-MacThai:[MacThai] 

x-MacTurkish:[MacTurkish] 

x-MacUkraine:[MacUkraine] 

x-MS932_0213:[] 

x-MS950-HKSCS:[MS950_HKSCS] 

x-mswin-936:[ms936, ms_936] 

x-PCK:[pck] 

x-SJIS_0213:[] 

x-UTF-16LE-BOM:[UnicodeLittle] 

X-UTF-32BE-BOM:[UTF_32BE_BOM, UTF-32BE-BOM] 

X-UTF-32LE-BOM:[UTF_32LE_BOM, UTF-32LE-BOM] 

x-windows-50220:[cp50220, ms50220] 

x-windows-50221:[ms50221, cp50221] 

x-windows-874:[ms-874, ms874, windows-874] 

x-windows-949:[windows-949, ms_949, windows949, ms949] 

x-windows-950:[ms950, windows-950] 

x-windows-iso2022jp:[windows-iso2022jp] 


当前JVM运行时系统属性列表 

:awt.toolkit=sun.awt.windows.WToolkit 

file.encoding=GB18030 

file.encoding.pkg=sun.io 

file.separator=\ 

idea.launcher.bin.path=D:\IDEA813\bin 

idea.launcher.port=7532 

java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment 

java.awt.printerjob=sun.awt.windows.WPrinterJob 

java.
class.path=F:\jdk1.6.0_16\jre\lib\alt-rt.jar;F:\jdk1.6.0_16\jre\lib\charsets.jar;F:\jdk1.6.0_16\jre\lib\deploy.jar;F:\jdk1.6.0_16\jre\lib\javaws.jar;F:\jdk1.6.0_16\jre\lib\jce.jar;F:\jdk1.6.0_16\jre\lib\jsse.jar;F:\jdk1.6.0_16\jre\lib\management-agent.jar;F:\jdk1.6.0_16\jre\lib\plugin.jar;F:\jdk1.6.0_16\jre\lib\resources.jar;F:\jdk1.6.0_16\jre\lib\rt.jar;F:\jdk1.6.0_16\jre\lib\ext\dnsns.jar;F:\jdk1.6.0_16\jre\lib\ext\localedata.jar;F:\jdk1.6.0_16\jre\lib\ext\sunjce_provider.jar;F:\jdk1.6.0_16\jre\lib\ext\sunmscapi.jar;F:\jdk1.6.0_16\jre\lib\ext\sunpkcs11.jar;D:\
new\charset\out\production\charset;D:\IDEA813\lib\idea_rt.jar 

java.
class.version=50.0 

java.endorsed.dirs=F:\jdk1.6.0_16\jre\lib\endorsed 

java.ext.dirs=F:\jdk1.6.0_16\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext 

java.home=F:\jdk1.6.0_16\jre 

java.io.tmpdir=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ 

java.library.path=F:\jdk1.6.0_16\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem 

java.runtime.name=Java(TM) SE Runtime Environment 

java.runtime.version=1.6.0_16-b01 

java.specification.name=Java Platform API Specification 

java.specification.vendor=Sun Microsystems Inc. 

java.specification.version=1.6 

java.vendor=Sun Microsystems Inc. 

java.vendor.url=http:
//java.sun.com/ 

java.vendor.url.bug=http:
//java.sun.com/cgi-bin/bugreport.cgi 

java.version=1.6.0_16 

java.vm.info=mixed mode, sharing 

java.vm.name=Java HotSpot(TM) Client VM 

java.vm.specification.name=Java Virtual Machine Specification 

java.vm.specification.vendor=Sun Microsystems Inc. 

java.vm.specification.version=1.0 

java.vm.vendor=Sun Microsystems Inc. 

java.vm.version=14.2-b01 

line.separator= 


os.arch=x86 

os.name=Windows XP 

os.version=5.1 

path.separator=; 

sun.arch.data.model=32 

sun.boot.
class.path=F:\jdk1.6.0_16\jre\lib\resources.jar;F:\jdk1.6.0_16\jre\lib\rt.jar;F:\jdk1.6.0_16\jre\lib\sunrsasign.jar;F:\jdk1.6.0_16\jre\lib\jsse.jar;F:\jdk1.6.0_16\jre\lib\jce.jar;F:\jdk1.6.0_16\jre\lib\charsets.jar;F:\jdk1.6.0_16\jre\classes 

sun.boot.library.path=F:\jdk1.6.0_16\jre\bin 

sun.cpu.endian=little 

sun.cpu.isalist= 

sun.desktop=windows 

sun.io.unicode.encoding=UnicodeLittle 

sun.java.launcher=SUN_STANDARD 

sun.jnu.encoding=GBK 

sun.management.compiler=HotSpot Client Compiler 

sun.os.patch.level=Service Pack 3 

user.country=CN 

user.dir=D:\
new\charset 

user.home=d:\我的文档 

user.language=zh 

user.name=Administrator 

user.timezone= 

user.variant= 



Process finished with exit code 0
 
另外,明确一点,谈到JRE和JVM,一般都应该考虑到运行时的状况,同样的代码,在你机器上显示和我的不一定一样,甚至很难一样,都很正常。
本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/235937,如需转载请自行联系原作者
你可能感兴趣的文章
Ring0 - 链表
查看>>
修改数组之----splice
查看>>
a版本冲刺第五天
查看>>
Arduino示例教程超声波测距实验
查看>>
Redis操作hash
查看>>
ubuntu使sudo不需要密码
查看>>
How to pass in/out return VB Byte array from a COM Component written in C#
查看>>
轻松搞定个人虚拟桌面部署之5-在客户端测试远程桌面
查看>>
Linux中chkconfig使用介绍
查看>>
二进制方式快速安装MySQL数据库
查看>>
Centos5上部署udev
查看>>
挑战WORD极限排版之模板与加载项
查看>>
Tomcat配置多数据源
查看>>
(转)快速搭建PHP开发环境WAMP+ZendStudio+ZendDebugger
查看>>
js string format
查看>>
httpHandlers和httpModules接口介绍 (3)
查看>>
18、C++ Primer 4th 笔记,复制控制
查看>>
《大话数据结构》第9章 排序 9.1 开场白
查看>>
Xgcalendar 新增Php demo
查看>>
poj2774
查看>>