package com.ylchou.testSystem;
import java.io.FileOutputStream;
/**
* 测试System静态类中的方法identityHashCode()方法
* identityHashCode()方法返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()
* identityHashCode()方法是根据地址计算所得,所以只要地址相同,identityHashCode()方法得到的值就相同
* String中的hashCode()被重写啦,写成根据字符串的值得到hashCode,所以只要字符串相同,hashCode()方法得到的值就相同
* @author ylchou
*
*/
public class TestSystem2 {
public static void main(String[] args) {
String s1 = new String("xyz");
String s2 = new String("xyz");
String s5 = new String("xxx");
int s1_id = System.identityHashCode(s1);
int s2_id = System.identityHashCode(s2);
int s5_id = System.identityHashCode(s5);
System.out.println(s1_id+"-----"+s2_id+"-----"+s5_id);//14576877-----12677476-----33263331 根据地址,所以值不定
int s11_id = s1.hashCode();
int s22_id = s2.hashCode();
int s55_id = s5.hashCode();
System.out.println(s11_id+"------"+s22_id+"-----"+s55_id);//119193------119193-----119160
System.out.println(System.identityHashCode(null));//0
System.out.println(System.identityHashCode(""));//6413875 根据地址,所以值不定
System.out.println("".hashCode());//0 null不能.hashCode(),没有hashCode
String s3 = "xyz";
String s4 = "xyz";
String s6 = "yyy";
int s3_id = System.identityHashCode(s3);
int s4_id = System.identityHashCode(s4);
int s6_id = System.identityHashCode(s6);
System.out.println(s3_id+"-----"+s4_id+"-----"+s6_id);//21174459-----21174459-----827574 根据地址,所以值不定
int s33_id = s3.hashCode();
int s44_id = s4.hashCode();
int s66_id = s6.hashCode();
System.out.println(s33_id+"-----"+s44_id+"-----"+s66_id);//119193-----119193-----120153
System.out.println(System.getenv());
System.out.println("-------------------------------------");
for (String string : System.getenv().keySet()) {
System.out.print(string+": ");
System.out.println(System.getenv().get(string));
}
System.out.println("-------------------------------------");
System.out.println(System.getenv("JAVA_HOME"));
System.out.println(System.getenv("Path"));
System.out.println(System.getenv("PATH"));//不区分大小写
System.out.println(System.getenv("Tmp"));
System.out.println("-------------------------------------");
System.out.println(System.getProperty("os.name"));
System.out.println(System.getProperty("OS.NAME"));//区分大小写
System.out.println(System.getProperty("temp"));
System.out.println(System.getProperties());
try{
//把System.getProperties()到的信息存储到d:/properties.txt中
System.getProperties().store(new FileOutputStream("d:/properties.txt"), "System Properties");
}catch(Exception e){
e.printStackTrace();
}
}
}
控制台输出:
14576877-----12677476-----33263331
119193------119193-----119160
0
6413875
0
21174459-----21174459-----827574
119193-----119193-----120153
{USERPROFILE=C:\Users\ylchou, ProgramData=C:\ProgramData, PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log, windows_tracing_flags=3, TEMP=C:\Users\ylchou\AppData\Local\Temp, SystemDrive=C:, ProgramFiles=C:\Program Files, Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Microsoft SQL Server\100\Tools\Binn\;C:\Microsoft SQL Server\100\DTS\Binn\;C:\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202, HOMEDRIVE=C:, PROCESSOR_REVISION=170a, USERDOMAIN=ylchou-PC, ALLUSERSPROFILE=C:\ProgramData, PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 10, GenuineIntel, SESSIONNAME=Console, TMP=C:\Users\ylchou\AppData\Local\Temp, LOGONSERVER=\\YLCHOU-PC, CommonProgramFiles=C:\Program Files\Common Files, =::=::\, PROCESSOR_ARCHITECTURE=x86, OS=Windows_NT, FP_NO_HOST_CHECK=NO, HOMEPATH=\Users\ylchou, PROCESSOR_LEVEL=6, LOCALAPPDATA=C:\Users\ylchou\AppData\Local, COMPUTERNAME=YLCHOU-PC, windir=C:\Windows, SystemRoot=C:\Windows, NUMBER_OF_PROCESSORS=2, USERNAME=ylchou, PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\, PUBLIC=C:\Users\Public, ComSpec=C:\Windows\system32\cmd.exe, APPDATA=C:\Users\ylchou\AppData\Roaming}
-------------------------------------
USERPROFILE: C:\Users\ylchou
ProgramData: C:\ProgramData
PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
windows_tracing_logfile: C:\BVTBin\Tests\installpackage\csilogfile.log
windows_tracing_flags: 3
TEMP: C:\Users\ylchou\AppData\Local\Temp
SystemDrive: C:
ProgramFiles: C:\Program Files
Path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Microsoft SQL Server\100\Tools\Binn\;C:\Microsoft SQL Server\100\DTS\Binn\;C:\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202
HOMEDRIVE: C:
PROCESSOR_REVISION: 170a
USERDOMAIN: ylchou-PC
ALLUSERSPROFILE: C:\ProgramData
PROCESSOR_IDENTIFIER: x86 Family 6 Model 23 Stepping 10, GenuineIntel
SESSIONNAME: Console
TMP: C:\Users\ylchou\AppData\Local\Temp
LOGONSERVER: \\YLCHOU-PC
CommonProgramFiles: C:\Program Files\Common Files
=::: ::\
PROCESSOR_ARCHITECTURE: x86
OS: Windows_NT
FP_NO_HOST_CHECK: NO
HOMEPATH: \Users\ylchou
PROCESSOR_LEVEL: 6
LOCALAPPDATA: C:\Users\ylchou\AppData\Local
COMPUTERNAME: YLCHOU-PC
windir: C:\Windows
SystemRoot: C:\Windows
NUMBER_OF_PROCESSORS: 2
USERNAME: ylchou
PSModulePath: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC: C:\Users\Public
ComSpec: C:\Windows\system32\cmd.exe
APPDATA: C:\Users\ylchou\AppData\Roaming
-------------------------------------
null
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Microsoft SQL Server\100\Tools\Binn\;C:\Microsoft SQL Server\100\DTS\Binn\;C:\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Microsoft SQL Server\100\Tools\Binn\;C:\Microsoft SQL Server\100\DTS\Binn\;C:\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202
C:\Users\ylchou\AppData\Local\Temp
-------------------------------------
Windows 7
null
null
{java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=C:\Java\jdk1.6.0_23\jre\bin, java.vm.version=19.0-b09, java.vm.vendor=Sun Microsystems Inc., java.vendor.url=http://java.sun.com/, path.separator=;, java.vm.name=Java HotSpot(TM) Client VM, file.encoding.pkg=sun.io, sun.java.launcher=SUN_STANDARD, user.country=CN, sun.os.patch.level=Service Pack 1, java.vm.specification.name=Java Virtual Machine Specification, user.dir=E:\workspace\testJSON, java.runtime.version=1.6.0_23-b05, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.endorsed.dirs=C:\Java\jdk1.6.0_23\jre\lib\endorsed, os.arch=x86, java.io.tmpdir=C:\Users\ylchou\AppData\Local\Temp\, line.separator=
, java.vm.specification.vendor=Sun Microsystems Inc., user.variant=, os.name=Windows 7, sun.jnu.encoding=GBK, java.library.path=C:\Java\jdk1.6.0_23\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Microsoft SQL Server\100\Tools\Binn\;C:\Microsoft SQL Server\100\DTS\Binn\;C:\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Tencent\QQPCMgr\6.8.2374.202, java.specification.name=Java Platform API Specification, java.class.version=50.0, sun.management.compiler=HotSpot Client Compiler, os.version=6.1, user.home=C:\Users\ylchou, user.timezone=, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=GBK, java.specification.version=1.6, java.class.path=E:\workspace\testJSON\bin, user.name=ylchou, java.vm.specification.version=1.0, java.home=C:\Java\jdk1.6.0_23\jre, sun.arch.data.model=32, user.language=zh, java.specification.vendor=Sun Microsystems Inc., awt.toolkit=sun.awt.windows.WToolkit, java.vm.info=mixed mode, sharing, java.version=1.6.0_23, java.ext.dirs=C:\Java\jdk1.6.0_23\jre\lib\ext;C:\Windows\Sun\Java\lib\ext, sun.boot.class.path=C:\Java\jdk1.6.0_23\jre\lib\resources.jar;C:\Java\jdk1.6.0_23\jre\lib\rt.jar;C:\Java\jdk1.6.0_23\jre\lib\sunrsasign.jar;C:\Java\jdk1.6.0_23\jre\lib\jsse.jar;C:\Java\jdk1.6.0_23\jre\lib\jce.jar;C:\Java\jdk1.6.0_23\jre\lib\charsets.jar;C:\Java\jdk1.6.0_23\jre\lib\modules\jdk.boot.jar;C:\Java\jdk1.6.0_23\jre\classes, java.vendor=Sun Microsystems Inc., file.separator=\, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86}