我正在使用 _JAVA_OPTIONS 在 RHEL 上为 Java 设置一些默认值。它工作正常,但现在每次启动 java 我都会收到以下消息
Picked up _JAVA_OPTIONS: -foo -bar -baz
Run Code Online (Sandbox Code Playgroud)
是否可以保留选项但禁止显示此消息。
Oracle 最近决定开始对其 JVM 的商业用途收费。
我们的团队已经开始改用 OpenJDK,并且发现一切似乎都运行良好,只是我们的性能变慢了。
我们的服务器是 linux 服务器,根据我们的性能团队,
我们已经观察到大多数 java 调用的速度很慢。我们查看了日志并调查了一些调用,我们没有看到任何异常或错误,只是速度很慢。
有没有其他人有任何关于这是否属实的数据,即 OpenJDK 平均比 Oracle JVM 慢?
回答:对我们来说,这个问题被确定与haproxyUbuntu 和 OpenJDK 相关。如果将这 3 件事结合起来,我们会在每个套接字连接上看到额外的 5 毫秒延迟。改变这三个因素中的任何一个,性能就会恢复。
我也会将此作为答案发布,因此可以在两个地方找到它
我最近在 Windows 10 系统上卸载了所有 Oracle Java 产品并从https://jdk.java.net/11/安装了 OpenJDK ,因为我打算开发一些 Java 应用程序。为了安装它,我只需将 jdk 解压缩到另一个文件夹中并相应地设置JAVA_HOME环境变量。然后我安装了 Eclipse IDE,一切正常。但是,我有另一个程序(不是我开发的)停止工作,抱怨它需要 Java 运行时环境。我认为 OpenJDK 为我提供了运行 Java 应用程序的所有工具,但我肯定错过了一些东西。
我尝试了什么:我从 stackoverflow阅读了这个线程,但我不想构建自己的 JRE,只需在我的计算机上安装一个能够运行我已经安装的 Java 应用程序的 JRE。(我可以运行我正在创建的 Java 应用程序而不是外部应用程序这一事实有点奇怪)。
我还尝试遵循此线程的指导,这是第一个答案建议运行的两个命令的输出:
C:\Users\MyUser>java --version
openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
C:\Users\MyUser>javac --version
javac 11.0.2
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助。
是否有类似openJDK的等效 openJRE ?
如果可能的话,我想使用 openJRE 在 Internet Explorer 中启用 java,而不是使用 Oracle Java
是否可以使用 OpenJDK 在 Internet Explorer 中启用 Java Applet?如果是的话 怎么办?
我正在使用 Mozilla 网站上的 Kubuntu 10.04 和 Firefox 3.6,我使用 Ubuntu 存储库中的 OpenJDK。
我想知道如何使用 Firefox 配置 OpenJDK 以在浏览器中查看 Java 小程序。
我的团队已从 JDK 8 升级到 JDK 11。之前我们在 Java 控制面板 ( javacpl.exe) 中配置 Web 代理设置;jre现在我们在 JDK 11 中找不到这个实用程序。JDK 11 文件夹中没有文件夹。它仍然可用(也许有一个新名称),还是被排除在 OpenJDK 中?
在 Debian 10 VM 中,我首先安装了 OpenJDK 11,一切正常。然后我根据极客计算中发布的说明安装了 Oracle JDK 13 ,这意味着wget-ting .deb 文件并使用dpkg -i.
我没有任何错误,但运行时update-alternatives --config java我得到这个答案:
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-11-openjdk-amd64/bin/java
Run Code Online (Sandbox Code Playgroud)
为什么?如何从一种 JDK 切换到另一种?
据我所知,“JDK”代表 Java 开发工具包,在基于 Debian 的系统上,您安装它default-jdk以获得正在运行的javac. 然而,在 Fedora 上(至少是最近的),安装java-openjdk不会安装javac,但你必须安装java-openjdk-devel。
我是否误解了 JDK 的概念javac?javac或者为什么Fedora 上不提供名称包含“jdk”的软件包?如果只有 a我会java-openjdk-devel理解,因为 JDK 意味着“devel”,但我不明白java-openjdk(没有 devel)代表什么。
我有一个连接到 IMAP 存储并检查消息的 Java 应用程序。它在 AWS 上的 Ubuntu 20.04.2 LTS 焦点上运行。它在 Java 11 (OpenJDK) 上运行。
一切正常,直到 2021 年 4 月 21 日,Java 版本自动更新到 OpenJDK 11.0.11。此时,重新启动应用程序后,我收到以下异常:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at java.base/sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:170)
at java.base/sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:98)
at java.base/sun.security.ssl.TransportContext.kickstart(TransportContext.java:221)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:433)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411)
at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:549)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:354)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:237)
at com.sun.mail.iap.Protocol.<init>(Protocol.java:116)
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:115)
at com.sun.mail.imap.IMAPStore.newIMAPProtocol(IMAPStore.java:685)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:636)
... 24 more
Run Code Online (Sandbox Code Playgroud)
我刚刚在 2020-04-14 降级回 OpenJDK 11.0.7,一切恢复正常。
在版本 11.0.7 和 11.0.11 之间,java.security 策略或支持的密码是否发生了重大变化?
除了保留 11.0.7 版本之外,还有其他方法可以解决此问题吗?
我正在尝试在装有 OpenJDK 的 Windows 10 计算机上运行 Freemind 1.0.1。当我尝试从“开始”菜单启动它或尝试.mm在文件资源管理器中打开文件时,我收到一条错误消息:
此应用程序需要 Java 运行时环境 1.5.0。
在这两种情况下,Windows 大概都会尝试运行C:\Program Files (x86)\FreeMind\FreeMind.exe(直接启动它会给出相同的结果)。同一个文件夹还有一个批处理文件Freemind.bat,可以成功启动Freemind。
我正在运行 OpenJDK 13.0.2,并且java.exe是我的默认PATH.
有没有办法让 EXE 包装器与 OpenJDK 13 很好地配合?或者这是一个硬编码到二进制文件中的错误?