java 运行环境注册表_Java运行环境与Windows注册表

有两种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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

身为程序员碰到最奇葩的需求是怎样的?

梁大折腾部门老大:你,做个微信小游戏吧我:啥样的?老大:反正你就做个小游戏吧,这个火我:?????柔情领导:那个运维啊,你来把他…

NET问答: Entity Framework 如何快速高效的删除表中所有记录 ?

咨询区 Zhenia:在 Entity Framework 中,如何快速高效的删除表中的所有行?我目前是这样写的。var rows from o in dataDb.Tableselect o; foreach (var row in rows) {dataDb.Table.Remove(row); }dataDb.SaveChanges();但这种做法&#xff0…

java 加减乘除是原子操作吗_聊聊原子操作那些事

原子操作,线程间交互数据最细粒度的同步操作,它可以保证线程间读写某个数值的原子性。由于不需要加重量级的互斥锁进行同步,因此非常轻量,而且也不需要在内核间来回切换调度,效率是非常高的。。那如何使用原子操作了&a…

有关技术管理的一些思考

这些天里工作的环境发生了一些微小的变化,可能以后对基层开发的程序员也会有更加具体的影响。上周参加 Open Party 时,重点听了《那些失败的项目们》,分析了一个项目的提出、实施,直到最后失败的过程。我也在想一个技术团队究竟应…

15个未来高科技产品会让你无法想象!这些开脑洞的设计太牛了!

导读:从衣食住行到生活的方方面面,未来必将会有天翻地覆的变化。大数据、云计算、物联网和人工智能这些年的发展,让我们对并不遥远的未来有了更多想象和期待。那些我们现阶段不可企及的所思所想,将在未来成为大部分人的日常。这么…

解决 .NET Core 在 Linux Container 中获取 CurrentCulture 不正确的问题

背景在将公司一款基于 .NET Framework 的控制台程序迁移到 .NET Core 3.1 时,发现程序中本地化的部分失效,症状类似于对 Thread.CurrentThread.CurrentCulture.Name 的值进行 Substring() 操作时抛出 ArgumentOutOfRangeException 异常。该程序在 Window…

Java程序设计当中包的使用_【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.2 类的继承...

【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.2 类的继承super的使用1.使用super访问父类的域和方法注意:正是由于继承,使用this可以访问父类的域和方法。但是有时为了明确指明父类的域和方法,就要用关键字super。this和super都…

机器学习资料升级版来了!!!

机器学习一直是一个热门的领域。上次分享的机器学习资料【资源】机器学习资料包来袭受到大家的广泛好评,今天小编打算分享一份机器学习升级版的资料,有斯坦福大学-深度学习基础教程、机器学习实战、人工智能与大数据、Tagging等。顺序最下优化算法Error …

java consumer 使用_java.util.function.Consumer的用法

Consumer类包含两个方法,一个accept方法用来对输入的参数进行自定义操作,因为是个抽象方法,所以需要实例化对象的时候进行Override,另一个andThen方法跟Function的方法一样是一个default方法,已经有内部实现所以不需要…

程序员从初级到中级10个秘诀

Justin James曾发表过一篇博文《10 tips for advancing from a beginner to an intermediate developer》,为我们分享如何才能完成程序员从初级到中级的蜕变,现将中文译文转载于此,供大家借鉴。 在一封与TechRepublic会员交流的邮件当中&…

C# 可空类型

C# 单问号 ? 与 双问号 ?? ? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值&#xff0c;意思是这个数据类型是 Nullable 类型的。int? i 3;等同于&#xff1a;Nullable<int> i new Nullable<int>(3); int i; //默认值0…

K-Means算法的10个有趣用例

K-means算法具有悠久的历史&#xff0c;并且也是最常用的聚类算法之一。K-means算法实施起来非常简单&#xff0c;因此&#xff0c;它非常适用于机器学习新手爱好者。首先我们来回顾K-Means算法的起源&#xff0c;然后介绍其较为典型的应用场景。起源1967年&#xff0c;James M…

计算数字的出现次数 java_关于Java:如何计算数字在.txt文件中出现的次数

早上好&#xff0c;我正在做一些Java练习&#xff0c;偶然发现了这个问题。 我有一个.txt文件&#xff0c;其中包含多个数字&#xff0c;每行一个。 练习的目的是查看哪些数字等于10 ^ 0&#xff0c;...&#xff0c;10 ^ n直到达到n。 然后&#xff0c;我必须在.txt中写入每个数…

Asp.net中的HttpModule和HttpHandler的简单用法

在Asp.net中&#xff0c;HttpModule和HttpHandler均可以截取IIS消息进行处理&#xff0c;这使得我们制作人员能够非常方便的进行诸如图片水印添加&#xff0c;图片盗链检查等功能。 下面先就HttpModule的使用方法进行简单说明&#xff1a; using System;using System.Web;names…

C# $的用法

今天闲来无事&#xff0c;就随便在网上乱看&#xff0c;突然想到Jquery的$符号很强大&#xff0c;那么C#有没有这个东西呢&#xff0c;一查&#xff0c;果然有。经查证发现&#xff0c;这个是在C#6.0出现的一个新特性&#xff0c;也就是一个小语法糖&#xff0c;其作用相当于对…

想转行人工智能?机会来了!!!

一个坏消息&#xff1a;2018年1月 教育部印发的《普通高中课程方案和语文等学科课程标准》新加入了数据结构、人工智能、开源硬件设计等 AI 相关的课程。这意味着职场新人和准备找工作的同学们&#xff0c;为了在今后十年内不被淘汰&#xff0c;你们要补课了&#xff0c;从初中…

tankwar java_TankWar 单机(JAVA版) 版本0.3 画出坦克

其实就是通过自定义的panel 重写里面的paint方法 使用Graphics类画一个圆然后把自定的panel添加到窗口中由于想到tank不能只画一个 所以我们封装一个tank类 里面有一个draw方法 用来画 坦克通过实例化tank 调用draw方法就能实现画tank了具体代码如下&#xff1a;Tank类pac…

轻量NuGet服务—BaGet

相信大家都受益过nuget.org&#xff0c;上面的海量的库、工具、模板为我们开发提供了极大的帮助&#xff0c;其中有很多都是非常宽松的开源协议&#xff0c;在此感谢那无私奉献的人。有的时候&#xff0c;在企业内部&#xff0c;有些库是私有的&#xff0c;专项的&#xff0c;要…

光驱读盘不正常

问&#xff1a;我的电脑安装的是Windows XP操作系统&#xff0c;安装好后出现了一个问题&#xff0c;就是不能连续读光盘&#xff0c;插入第一张光盘一切正常&#xff0c;打开光驱放入第二张光盘&#xff0c;发现里边的内容竟是第一张光盘的内容&#xff0c;重新启动机器后&…

在安卓上安装java_如何在Android上安装JavaCV并使用FrameGrabber

有人能告诉我我在哪里做错了吗&#xff1f;这些是我遵循的步骤&#xff1a;>从Android开发者网站下载了adt-bundle-windows>创建了一个新项目和一个libs / armeabi文件夹>将所有* .so文件从javacv-android-arm.jar,opencv-2.4.3-android-arm.zip和ffmpeg-1.0-android-…