当电脑里面有多个jdk或是jre时,在cmd里面到底是用的哪个java.exe呢?
一、cmd 里使用java:
1. 使用哪个java.exe机器上很多地方都有java.exe,cmd 里用java,实际是用path变量最前面一个,就是C:\WINDOWS\system32里面的2. 使用哪个jre在哪个jre下启动java.exe呢,有个查找顺序:(1)java.exe当前目录(2)java.exe的父目录(3)注册表里current version下的版本号,该版本下有对应的JavaHome路径所以在我的机器上,cmd 里java时,首先找C:\WINDOWS\system32下,木有jre;然后是C:\WINDOWS\ 木有 jre;最后通过注册表找到了1.6版本的jre,所以java -version 显示的是1.6版本不管我是否给jdk1.5设置了环境变量,都不影响上面的结果二、删除了PATH变量的Java设置,但是依然可以在cmd里面运行java.exe
why?因为注册表面还没删除!!!