相关疑难解决方法(0)

JVM,JDK,JRE和OpenJDK有什么区别?

JVM,JDK,JREOpenJDK有什么区别?

我是用Java编程的,我遇到了这些短语,它们之间有什么区别?

java jvm difference

322
推荐指数
9
解决办法
38万
查看次数

如何在Mac OS X上安装特定的JDK?

我想安装一个特定的JDK(例如最新的JDK).为此,我访问了JDK下载主页:http://java.sun.com/javase/downloads/index.jsp.我找了一个Mac版本,但我只是看到Linux,Windows和Solaris的可下载版本有点惊讶......

这是Mac的消息:

"Apple Computer提供他们自己的Java版本.使用Apple Update菜单上的软件更新功能来检查您是否拥有适用于Mac的最新Java版本."

OK但是 ......当我用Mac更新Java时,我有一个JRE而不是JDK ......

我不明白为什么JDK版本不存在易于下载/可安装(如解压缩的jar?)for Mac ...

java macos install

196
推荐指数
4
解决办法
29万
查看次数

从技术上讲,Oracle JDK和OpenJDK之间的主要区别是什么?

我一直在使用OpenJDK,最初用于没有问题的小项目.但是自从我开始玩大玩具之后,我开始注意到随机/未知的致命错误和崩溃(使用H.264编解码器等),直到那时才出现系统崩溃和致命错误的噩梦由OpenJDK引起.

在对OpenJDK感到非常沮丧和厌倦之后,我终于决定切换到Oracle JDK 7.从那以后,我的致命错误/崩溃消失了.我仍然在追踪它是否发生,但我从未遇到过那些系统崩溃.

现在我想知道,如果OpenJDK只是一个许可证问题,为什么稳定性不可能呢?

为什么OpenJDK在他们的稳定版本中保留了bug,但是声称它是Oracle JDK的克隆(实际上并不是这样),那么OpenJDK和Oracle JDK在技术上是分开的?(只有快速功能可用性?还是专注于稳定性/可靠性?)

java linux java-7

115
推荐指数
2
解决办法
11万
查看次数

我可以将哪个免费版本的 java 用于生产环境和/或商业目的?

当我在目前的工作中参与 dockerization 项目时,我有一个疑问:我可以使用哪种 java?

这种怀疑是由于:

java下载提示

所以经过一些研究,我得到了这些结论:

  • 2019 年 4 月 16 日 8u221的 java 8 更新以来,(java 8,9,10,11 y 13) 的所有版本和更新都没有成本,用于个人使用和开发目的。任何其他用途,需要商业许可证
  • 7 之前的旧版本没有也不会有任何更新。如果旧系统支持需要更新这些版本,那么销售联系人可能是一个解决方案。
  • 如果我想将 java 8 oracle 版本用于商业目的免费,我需要使用2019 年 4 月 16 日 8u221 更新的先前版本

问题

根据我的结论:

  • 如果我的开发严格需要或使用JDK 8开发,我是否可以仅将 Oracle Java SE 8 JDK 8u202 及更早版本用于免费商业目的接受问题和安全问题?

  • 如果我可以改变我的开发并且我仍然想要免费并且我想要改进和安全更新,我必须使用这些 Java 开放实现之一吗?


参考

java open-source azul-zulu corretto

57
推荐指数
4
解决办法
5万
查看次数

OpenJDK 8是Java SE 8的参考实现吗?

本文指出OpenJDK7是Java SE7的官方参考实现.

有人可以确认Java 8的情况也是如此吗?Open JDK8是Java SE8的参考实现吗?

这个链接有一个部分答案,但我的问题是关于Java 8的具体问题.

java

33
推荐指数
1
解决办法
4万
查看次数

System.arraycopy(...)的时间复杂度?

System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 是一种本地方法.

这种方法的时间复杂度是多少?

java algorithm time-complexity

31
推荐指数
3
解决办法
1万
查看次数

OpenJDK8 for windows

我有点困惑如何下载openjdk8 for windows.

如果我去http://openjdk.java.net/install/然后在JDK 8下只有两个部分:"Debian,Ubuntu等" 和"Fedora,Oracle Linux,Red Hat Enterprise Linux等".窗户在哪里?

java

31
推荐指数
1
解决办法
8万
查看次数

差异Amazon Corretto和OpenJDK

亚马逊CorrettoOpenJDK(以及甲骨文的OpenJDK)之间有什么区别- 但是已经有了关于的门票?Corretto是一个OpenJDK版本8实现.两者都是免费的,似乎可以在大多数系统上运行(Linux,Mac OS和Windows).到目前为止,Corretto仅在预览中,但这将很快改变.Corretto的文档没有说明差异.在性能,垃圾收集方面是否存在差异?为什么我更喜欢一个呢?你会在AWS之外使用Corretto吗?

java corretto

31
推荐指数
4
解决办法
1万
查看次数

JDK8u40的src.zip在哪里?

我安装了JDK8u40,但只找到了javafx-src.zip.

我在哪里可以找到JDK的源代码?src.zip?

以下是安装后的内容:

顺便说一句,我没有看到安装向导!这很奇怪.

在此输入图像描述

添加1

今天我尝试了几个Java安装包.所有都是从Oracle官方网站下载的.

  • JDK-6u45-Windows的i586.exe
  • JDK-7u75-Windows的i586.exe
  • JDK-8u20-Windows的i586.exe
  • JDK-8u25-Windows的i586.exe
  • JDK-8u31-Windows的i586.exe
  • JDK-8u40-Windows的i586.exe

双方6u457u75在我的箱子装好.我可以看到安装向导.并src.zip安装.

但是8u258u40都安静地安装了.并且没有安装src.zip文件,因为我没有机会在向导中选择它.

我不确定这是我的错,还是Oracle的某个人犯了错误.

正如@SubOptimal所评论的那样,该/s选项表示静默安装.我想知道是否有强制GUI安装向导打开的选项.

我在用 Windows 7 Enterprise x64 Build 7601 SP1

java openjdk java-8

19
推荐指数
2
解决办法
2万
查看次数

我在java.io.PipedInputStream中发现了一个错误吗?

我不确定,但我很确定我在Oracle Java实现中发现了一个错误(或一个未记录的功能)(1.7.0_67和1.8.0_31我可以验证为受影响).

症状

当管道已满时,对管道的写入可能会比管道再次释放所需的时间长一秒.问题的一个最小示例如下(我已将此处显示的示例推送到GitHub上的存储库):

private static void threadA() throws IOException, InterruptedException {
  logA("Filling pipe...");
  pos.write(new byte[5]);
  logA("Pipe full. Writing one more byte...");
  pos.write(0);
  logA("Done.");
}

private static void threadB() throws IOException, InterruptedException {
  logB("Sleeping a bit...");
  Thread.sleep(100);
  logB("Making space in pipe...");
  pis.read();
  logB("Done.");
}
Run Code Online (Sandbox Code Playgroud)

pispos分别连接PipedInputStreamPipedOutputStream实例.logA并且logB是输出线程名称(A或B)的辅助函数,以毫秒为单位的时间戳和消息.输出如下:

     0 A: Filling pipe...
     6 B: Sleeping a bit...
     7 A: Pipe full. Writing one more byte...
   108 B: Making space in …
Run Code Online (Sandbox Code Playgroud)

java

18
推荐指数
1
解决办法
2211
查看次数