JDK本身不使用Windows注册表运行。 这是JRE使用系统注册表在某些情况下运行,如Applet或使用WebStart技术启动的程序。
最后,如果JRE从Windows系统目录(例如C:/winnt/system32/java.exe)运行,它将只使用注册表。如果用户只是在某个随机目录的命令行中键入“java”,则会发生这种情况,因为系统目录始终位于用户的路径中。在这种情况下,会的java.exe通过查看注册表项
[HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft的\ Java运行时环境\ CURRENTVERSION]
定位当前的Java安装,然后获取路径JRE的从相应的键
[HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft的\ Java运行时环境\ 1.5 \的JavaHome]
的
请注意某些软件(例如, Oracle)在PATH定义的开始部分安装它们,因此它将首先找到它们的Java安装。 您可以运行到的java.exe文件的绝对路径,如
“C:\ Program Files文件\的Java \ jre1.5.0 \ BIN \ java.exe的” MyClass的
它将不使用注册表,它将保证使用jre1.5.0。 因此,对于常规的Java SE程序,指定JRE的完整路径以启动它是安全的。
但是对于Applet /插件或基于WebStart的程序,注册表总是用于确定当前的JRE。
谢谢damodar ......我删除了javasoft中的注册表项.....但是当我去卸载Windows程序列表时,我仍然看到java更新24,当我试图unistall它它给了我我上面提到的错误..........所以你可以请告诉,我该如何解决这个问题 – tecman 2011-03-24 06:52:41
如果我的帖子到达你投票给我。请解释清楚。 – developer 2011-03-24 06:55:10
总之,即时通讯期待卸载Java(与JRE)完全.... – tecman 2011-03-24 06:55:40