Redhat的Java和Oracle Java之间的区别

Shr*_*ram 6 java redhat

我想jdk在Redhat系统中出于某些安全原因更新我并更新为jdk7u79成功.

Redhat已在其站点中发布了一些Java漏洞,其名称为Oracle Java for RHEL Server.

我是否需要更新我jdk在RHEL网站中提到的内容?是jdk从Oracle的网站是从Oracle的Java为RHEL服务器不同.

参考

nim*_*nim 3

Oracle java 基于 openjdk 并添加了一些专有位:

\n\n

\xe2\x80\x93 有时这些位应该提高性能(jrockit 跟踪\xe2\x80\xa6),

\n\n

\xe2\x80\x93 有时这些位会提高兼容性(因为它们是从 SUN 继承的,并且自 SUN 时代以来应用程序作者就对它们进行了测试)。许多归因于 Oracle/Sun java 的“稳定性”只是应用程序作者学习避免 Oracle/Sun 专有位的错误,并添加在没有这些错误的情况下在 jvm 上运行的解决方法(另请参阅\xc2\xa0:IE6)

\n\n

Red Hat java仅基于openjdk

\n\n

\xe2\x80\x93 纯openjdk与系统集成更好。openjdk 的人努力消除残留的 java-isms 并使用与其他系统应用程序相同的约定

\n\n

\xe2\x80\x94 纯openjdk 更具有前瞻性。Oracle 知道,SUN 几乎用其无力维护的专有技术的错综复杂组合杀死了 Java。Oracle 长期需要的任何东西最终都会出现在 openjdk 中。openjdk 实现与专有位实现对等就足以让 Oracle 杀死它们 \xe2\x80\x93 当类似的免费技术可用时,在维护专有技术方面无需 $$$。

\n\n

\xe2\x80\x93 当Red Hat解决了当前版本中的问题时(只要保留当前API),Red Hat会向后移植为当前Redhat Java中的下一个openjdk版本编写的代码是很常见的(只要保留当前API),而Oracle将在提出之前倾向于等待下一个 openjdk 版本。

\n\n

据我所知,Oracle 对 SUN 处理 java 1.6 的方式感到非常厌恶(它被称为 java 1.6,但开发不是线性的,桌面/服务器/windows/linux jvm 都是不同的,在一个版本中添加了一些无法在其他版本中使用的位。另一个是由于编码快捷方式和复杂的许可协议,它们中的每一个都以某种方式落后于其他)。Oracle打算维护一个经典的线性开发管道:openjdk next \xe2\x86\x92 current openjdk \xe2\x86\x92 oracle java

\n\n

无论您使用哪个版本,都需要应用其维护者发布的安全更新。使用 Oracle java 作为 Red Hat java 的更新是没有用的,反之亦然,它的代码略有不同,安全错误也略有不同。两家公司都拥有有能力的工程师,并在 openjdk 主干中共享安全修复程序。修复版本的发布时间取决于禁运协议和安全修复策略。Oracle 倾向于在不频繁的预先计划版本中批量修复,除非存在严重漏洞。一旦有与安全相关的问题需要修复,无论大小,红帽都会立即发布。Red Hat 构建流程比 Oracle 使用的流程更加敏捷。Linux 构建过程是 100% 自动化的,而 Oracle 需要担心 Windows 等。

\n\n

最后,在 RHEL 中发布的 Oracle Java 是对 Oracle 文件的重新打包,以使用本机 Linux 打包技术并使用与 openjdk 包相同的路径(等)约定(使得可以轻松地替换另一个包),而 Oracle 发布的 Oracle Java仍然遵循人们认为适合 Linux 的非常奇怪的命名和路径约定 SUN Solaris/windows。它应该不会比 Oracle 发布的 Oracle Java(同一版本)有更多也不少的安全漏洞,只是部署起来方便很多。它被设计为另一个 Linux 软件包集,可以使用本机软件包部署系统部署在许多 Linux 服务器上。当您有数百台服务器需要管理时,不必对 jvm 进行特殊处理,这是一个很大的帮助。

\n\n

每年二月,Red Hat 和 Oracle 顶级 Java 人员都会在 fosdem 上公开会面,并介绍他们当前的优先事项。如果您感兴趣,可以在 fosdem 公共档案中查阅他们过去的演讲。

\n