当前位置: 首页 > 知识库问答 >
问题:

使用OpenJDK的原因是什么?

淳于熙云
2023-03-14

在哪些情况下,应该使用Open JDK
是否只是为了合法性问题?
如果是,那么问题是什么?
因为我仍然使用Oracle JDK开发我的所有项目

共有1个答案

栾峰
2023-03-14

2017年11月:在提出这个问题的时候,在OpenJDK和Oracle JDK之间进行选择的原因包括:

>

  • 特定平台的生成/安装程序的可用性。例如,上次我检查了Debian/Ubuntu没有“.deb”格式的Oracle JDK发行版。并且没有用于Windows的OpenJDK构建。

    Oracle JDK有一些商业特性,已经付费的人可以启用这些特性。它们不存在于OpenJDK中。

    如果您只是计划使用Oracle JDK和OpenJDK软件,那么它们之间没有实质性的许可差异。(Oracle JDK的二进制重新分发有一些限制,但它们是关于传送Java平台的非标准或精简版本的。)

    在未来,这些差异中的一些将会消失,根据这个博客页面:

    • 更快、更容易地使用和重新发布Java SE

    Java9和Java10是EOL。

    Oracle JDK Java11及更高版本的商业使用需要Oracle提供支持合同或订阅。OpenJDK Java构建没有这个要求。

    Oracle不提供对OpenJDK Java构建的支持,但可以从第三方获得支持。第三方还将Oracle安全修补程序移植到OpenJDK构建中。

      null

  •  类似资料:
    • 问题内容: 我见过很多人声称您应该在选择查询中专门为想要的每一列命名。 假设我仍然要使用所有列,为什么我不使用? 即使考虑问题* SQL查询-从视图选择或从视图*选择col1,col2,’colN,我也不认为这是完全相同的副本,因为我正从略有不同的观点着手解决这个问题。 我们的原则之一是在优化之前就不进行优化。考虑到这一点,在被证明是资源问题或架构几乎是固定的之前,似乎应该使用 首选的 方法。众所

    • 问题内容: 当我尝试运行程序时,出现以下错误 请帮忙 问题答案: 从Javadoc: 如果Java虚拟机找不到声明为native的方法的适当本机语言定义,则抛出该异常。 这是与JNI相关的错误。loadJacobLibrary试图加载名为jacob-1.14.3-x86的本机库,但在java.library.path定义的路径上找不到该库。启动JVM时,应将此路径定义为系统属性。例如 在Windo

    • 在这里抛出RejectedExecutionException是否有其他原因? java.util.concurrent.RejectedExecutionException:任务java.util.concurrent.FutureTask@4194a5f0被java.util.concurrent.ThreadPoolExecutor@41a36e90拒绝[终止,池大小=0,活动线程=0,排队

    • 问题内容: 关于Java的InterruptedException有一些有趣的问题和答案,例如Java中的InterruptedException 的原因和处理InterruptedException。但是,它们都没有告诉我InterruptedException的可能来源。 像SIGTERM,SIGQUIT,SIGINT这样的OS信号呢?在命令行上按CTRL-C是否会产生InterruptedE

    • 问题内容: 与Cipher合作时,我观察到以下内容。 加密码: 解密代码: 运行Decrypt代码时,出现IllegalBlockSizeException(输入长度​​必须为16的倍数)。 但是如果我将解密代码更改为 它工作正常。我知道这是有规律的。所以我以为是因为我没有提到填充。所以我尝试在加密过程中提供模式和填充, 加密码: 解密代码: 但是它失败,并带有IllegalBlockSizeEx

    • PHP手册说,如果锁定成功,调用flock将返回TRUE,否则返回FALSE。若文件被其他进程阻塞,那个么flock应该等到它被解锁(因为我们不使用LOCK_NB)。文档中没有超时,超时会中断等待,所以显然flock将无限等待,直到获得锁为止。 但是有时我在我的多线程脚本中从flock()得到FALSE。那是什么原因呢?