有两种Java运行环境(JRE),公有JRE (public JRE)与私有JRE(private JRE)。JDK安装程序会安装私有JRE和一个可选的公有JRE。私有JRE完全包含在JDK的安装路径下,仅对JDK可见,为JDK所用。公有JRE为系统中所有的Java程序共享,具有独立的安装程序。与私有JRE不同,公有JRE的安装程序会对系统做一些修改来与OS和浏览器建立更密切的关系,主要有以下几个方面:

控制面板中的添加/删除程序列表就会出现公有JRE

控制面板中安装一个Java的控制面板项,可用它来设置一些与公有JRE相关的参数

在%SystemRoot%/system32下会出现java.exe,javaw.exe, javaws.exe

注册表做必要的添加或调整以将公有JRE注册到系统中。

公有JRE的卸载程序会做相应的清除工作来恢复一个干净的操作环境。

由于种种原因,公有JRE卸载失败,或者有时重装JRE也不能解决问题,为了恢复以前的环境,有时需要手工将安装程序所做的修改undo回去,这时我们就需要了解安装程序对注册表做了哪些修改。

注意:

1. 在对注册表做任何修改之前备份注册表!误操作可能导致你的系统无法启动!

2. 以下是实现细节, 会随时改变. 所以仅供参考.以下描述基于J2SE 5.0 以上或Java SE 6 :

1.卸载程序

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/

{3248F0A8-6813-11D6-A77B-

00B0D0MAJORVERSIONMINORVERSIONMICROVERSIONCOMPUPDATEVERSION}

MAJORVERSION: JRE的主版本号

MINORVERSION:JRE的次版本号

MICROVERSION:JRE的微版本号COMPUPDATEVERSION: JRE Update版本号*10

例如:Java SE 6的版本为1.6.0, 它的键值为:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/

{3248F0A8-6813-11D6-A77B-00B0D0160000}

J2SE 5 Update 10的版本为1.5.0_10, 它的键值为:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/

{3248F0A8-6813-11D6-A77B-00B0D0150100}

2. JVM

HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment

这里列出了系统安装的所有的JRE.

3. 浏览器中Applet运行环境(Java Plug-In)版本列表

HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in

4. Java Web Start版本列表

HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Web Start

5. Java自动更新

HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Update

在控制面板中对Java Update所做的设置就存于此处。

6. Java Preferences API

HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Prefs

7. 用于探测系统上所安装的Java Web Start的组件CLSID和ProgID

HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/

{5852F5ED-8BF4-11D4-A245-0080C6F74284}

HKEY_LOCAL_MACHINE/SOFTWARE/Classes/JavaWebStart*

8. IE中的支持组件

HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/

{8AD9C840-044E-11D1-B3E9-00805F499D93}

9. IE中对用来加载Applet的支持 HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/

{CAFEEFAC-*-*-*-*}

10. 从网上用于自动下载JRE的ActiveX的CLSID

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Code Store Database/Distribution Units/

{8AD9C840-044E-11D1-B3E9-00805F499D93}

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Code Store Database/Distribution Units/

{CAFEEFAC-*-*-*-*}

11. IE 选项中SUN Java

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/AdvancedOptions/JAVA_SUN

12. IE的Java Console菜单

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Extensions/

{08B0E5C0-4FCB-11CF-AAA5-00401C608501}

13. 与IE7 ActiveX Opt-In相关的pre-approved表

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Ext/

PreApproved/

{8AD9C840-044E-11D1-B3E9-00805F499D93}

14. Microsoft的JVM

HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/

{08B0E5C0-4FCB-11CF-AAA5-00401C608500} HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/

{08B0E5C0-4FCB-11CF-AAA5-00401C608501}

注意第2个键中的TreatAs, 熟悉COM的人都应知道它的含义. 这个TreatAs与Sun JRE 有关

15. 运行*.jar

HKEY_LOCAL_MACHINE/SOFTWARE/Classes/jarfile

16. 运行*.jnlp

HKEY_LOCAL_MACHINE/SOFTWARE/Classes/JNLPFile

17. Java Web Start 的 App Path,方便javaws寻找它的DLLs

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/

App Paths/javaws.exe

18. Java Plug-In ProgIDs

HKEY_LOCAL_MACHINE/SOFTWARE/Classes/JavaPlugin*

以上是HKLM中的东东, HKCU中还有一些, 以后再说吧. 要干净清除JRE, 有时还要处理HKCU.

java 运行环境注册表_Java运行环境与Windows注册表相关推荐

  1. java运行时加音乐_Java运行窗体/程序添加自定义背景音乐

    本帖最后由 Jesp 于 2020-7-5 00:50 编辑 前言: 最近实训结束,虽然我的坦克大战项目没有做完美,但是我对付出多少回报多少,这一点上我还是比较满意的,因为很多时间有在玩电脑游戏,只有 ...

  2. Java打印带边框的乘法口诀表_Java 面试 - 打印九九乘法口诀表

    在Java面试过程中, 面试者经常会被要求手写代码或上机操作.一般来说,手写代码或上机操作,主要还是考察面试者的分析问题和解决问题的能力.打印九九乘法口诀无疑是非常基础的,那么如何实现呢?首先我们先来 ...

  3. oracle 注册表丢了,一次Windows 注册表中注册表项目丢失导致的Oracle 数据库启动有关问题...

    一次Windows 注册表中注册表项目丢失导致的Oracle 数据库启动问题. 一次Windows  注册表中注册表项目丢失导致的Oracle 数据库启动问题. 环境说明: 1.windows 200 ...

  4. Java若伊是啥_java运行环境和运行机制

    先来介绍三个概念: JVM----JAVA virtual machine java虚拟机:对字节码提供相同的接口,对操作系统提供不同的接口,以适应各个OS JRE----JAVA runtime e ...

  5. java jdk 1.8 配置_Java开发环境jdk 1.8安装配置方法(Win7 64位系统/windows server 2008)...

    什么是jdk jdk是什么呢?jdk的是java development kit的缩写,意思是java程序开发的工具包.也可以说jdk是java的sdk. 目前的JDK大致分三个大版本: Java S ...

  6. java运行机制是什么_JAVA运行机制

    这一篇我们来简单理解一下JAVA的运行机制 大概可以分为三大部分 1.编写程序 2.编译程序 3.运行程序 1.编写程序 编写程序就是我们前面说的源代码 这些源代码都有特殊的语法 例如main函数 他 ...

  7. java的环境变量设置_Java开发环境不再需要配置classpath

    前言: 之前发布了关于java开发环境配置的文章,经过与网友的交流,我了解到在jdk1.5以后,java开发环境配置的时候,确实不需要对classpath进行配置,查阅了一些资料以及与别人的交流,今天 ...

  8. java运行时异常中文_JAVA——运行时异常(RuntimeException)

    Exception中有一个特殊的子类异常RuntimeException运行时异常. 如果在函数内抛出该异常,函数上可以不用声明,编译一样通过. 如果在函数上声明了该异常.调用者可以不用进行处理.编译 ...

  9. java程序运行过程数据丢失怎么办_java运行过程中OutOfMemoryError是什么原因?怎么解决...

    1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据: 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收: 3.代码中存在死循环或循环产生过多重复的对象实体: 4.使用的第三方软件 ...

最新文章

  1. pip、NumPy、Matplotlib在Windows上的安装过程
  2. 多人开源博客系统再搜集
  3. Kubernetes 集群升级指南:从理论到实践
  4. laravel 缓存相关常用操作
  5. 快速学习使用springmvc、strust2、strust1以及它们的对比
  6. java 进程同步代码_java 实现进程间的同步(源代码)
  7. 每隔10秒执行一次_(立下flag)每日10道前端面试题12 关于BOM十问
  8. php定时器使用,PHP定时器的说明
  9. python批量安装第三方库_使用Python批量安装第三方库
  10. [BZOJ2331]地板(插头DP)
  11. 虚函数如何实现多态 ?
  12. jquery_EasyUI使用细节注意
  13. Java8-为什么选择java8
  14. 高斯核与高斯核的卷积的结果还是一个高斯核的推导
  15. category 详解
  16. 用户交易数据分析 -持仓收益(盈亏)胜率等指标计算
  17. 复制文件夹 omitting directory
  18. 使用TimerOne库
  19. redis课程视频 黄建宏_求redis从入门到精通视频教程【50讲全】
  20. html中url英文全称,URL的英文全称

热门文章

  1. 基于OIDC(OpenID Connect)的SSO
  2. 剑英的区块链学习手记(一)
  3. 测试——《微服务设计》读书笔记
  4. 在docker中运行ASP.NET Core Web API应用程序
  5. HoloLens开发手记 - HoloLens shell概述 HoloLens shell overview
  6. VSCode同步设置
  7. redis watch使用场景_redis不得不会的事务玩法
  8. SignalR ——Android实践
  9. Android WebView 图片超出宽度自适应,点击查看大图
  10. 【PhotoScan精品教程】任务一:新建工程、导入照片、设置坐标系、导入控制点(POS)、自由空三