草庐IT

java - ibm jdk和oracle jdk有什么区别?

我正在编写将在AIX服务器上运行的Java代码。我想知道IBM的JDK和Oracle的JDK之间的区别,以及JDK是否具有相同的类。IBMJDK是否具有OracleJDK中存在的所有类?是否有任何IBM文档描述这两个JDK之间的差异? 最佳答案 Oracle和IBMjava运行时之间的最大区别在于它们具有独立的Java虚拟机(JVM)和即时(JIT)编译器实现。IBM需要构建自己的JVM和JIT,以便在z/OS(大型机)、AIX和LinuxonPower处理器等平台上运行Java程序,而其他Java实现无法在这些平台上运行。JVM和

java - 使用不同版本的 JDK 和相同的目标和源版本编译 Java 是否保证相同的执行?

我们将更新我们的CI系统,该系统创建从Java7到Java8的构建。稍后我们想将项目一个一个地迁移到Java8。当然,我们希望能够为仍然使用Java7的旧版本创建错误修复版本。如果我们将构建相同的源、目标版本和源版本从JDK7转移到JDK8,我们能确定不会出现问题吗?我们在开发机器上进行了测试,没有任何问题。在此之前,我们也在逐步将部署服务器从JRE7更新到JRE8。请注意,我们希望在CI系统上保留单个JavaJDK安装,否则会变得很复杂。为了更清楚:我对相同的执行结果更感兴趣,而不是相同的字节码。如果我理解正确的话,相同的字节码只会确认第一个(在相同的JRE上运行)。在所有部署都运行

java - Maven 在 jenkins 上使用错误的 JDK 构建

当我尝试运行我的JenkinsMaven作业时,出现以下错误:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.1:compile(default-compile)onprojectmyProject:Fatalerrorcompiling:invalidtargetrelease:1.8->[Help1]这表明Maven使用Java1.8,但它应该使用Java1.7。我在Debug模式下运行Maven,它显示了正确的版本:...ApacheMaven3.0.5(r01de14724cd

java - 为什么 JDK 1.4 和 1.5 的输出不同?

我在JDK1.4和1.5上运行这段代码并得到不同的结果。为什么会这样?Stringstr="";inttest=3;str=String.valueOf(test);System.out.println("str["+str+"]\nequalsresult["+(str=="3")+"]");if(str=="3"){System.out.println("if");}else{System.out.println("else");}输出:在jdk1.4上str[3]equalsresult[true]if在jdk1.5上str[3]equalsresult[false]else

java - 使用 JDK 8 编译但针对 JRE 7 的 ConcurrentHashMap 崩溃应用程序

我今天遇到了一个非常意外的错误,虽然我能够找到一种方法来解决整个问题,但我不确定我是否完全理解它为什么会这样做。我正在使用的代码最初是用JDK7环境编写的,当然是针对JRE7的。在代码中,我使用了ConcurrentHashMap。并且需要迭代map中的键。为此,我使用了map.keySet()根据JavaDocs应该返回Set.在我们的构建环境切换到JDK8之前,这一切都很好。当我们迁移到JDK8时,我确保在调用javac时调用1.7的目标/源。所以当代码想要遍历map的键时开始失败时,我感到非常惊讶。没有抛出错误,没有异常,线程只是简单地停止了。在做了一些研究之后,我发现Java8

java - 在模块路径上使用 OpenJFX 11 JMODS 在 JDK 11 上运行 javafx 示例

我已经从OpenJFX项目下载了JavaFXJmod文件并将它们放在目录G:\openjfx\javafx-jmods-11中。我正在使用OpenJDK11,它在JAVA_HOME/jmods中没有JavaFXjmod,即它没有随JavaFX发行版一起提供。模块信息文件:modulegui{requiresjavafx.graphics;requiresjavafx.controls;exportscom.test;}我编译如下:javac-pG:\openjfx\javafx-jmods-11-dmods--module-source-pathsrcsrc\gui\com\test\

java - 在哪里可以找到特定版本的 IBM JDK/JRE for Windows?

我正在尝试获得一个与Websphere一起工作的对JDK相当敏感的Oracle软件,我需要找到一些特定版本的IBMJDK来尝试。问题是IBM并没有真正像Sun/Oracle那样提供这些工具,而且我能得到的所有版本都因为这样或那样的原因而无法使用。具体来说,我需要以下之一:适用于Windows的IBMJava5SR9(理想)适用于Windows的IBMJava5SR2适用于Windows的IBMJava5SR10我怎样才能直接从IBM获得这些?我的公司有Websphere的支持契约(Contract),如果我能告诉他们去哪里,我希望能让我们的一位Websphere工程师下载它。

eclipse - 如何在 JDK 中启动 eclipse?

我第一次只是在eclipse中安装了一个Maven插件。现在有关于eclipse启动的消息,我应该在JDK中启动eclipse而不是jre以使Maven组件运行良好。我在eclipse.ini中使用了一个-vm参数:-vmC:\ProgramFiles(x86)\Java\但是重启后信息还在。我试过:C:\ProgramFiles(x86)\Java\bin还有:C:\ProgramFiles(x86)\Java\bin\java.exe但没有任何改变。如何在JDK中启动eclipse?提前致谢。 最佳答案 如果您使用的是Windo

java - Oracle 的服务器 JRE 包含 JDK?

我刚刚下载了适用于JavaSE7的OracleServerJRE(link)我下载的文件是server-jre-7u45-linux-x64.tar.gz。当我提取这个文件时,我惊讶地发现创建了一个名为jdk1.7.0_45的目录,其中包含完整的javaJDK。不是我对JRE安装的期望。这里发生了什么? 最佳答案 答案在父页面上的包说明中:JDK:(JavaDevelopmentKit).ForJavaDevelopers.IncludesacompleteJREplustoolsfordeveloping,debugging,an

java - Maven 依赖项 (jconsole-jdk.jar) 的构建路径问题

这个问题在这里已经有了答案:Missingartifact"sun.jdk:jconsole:jar:jdk"(8个答案)关闭5年前。我切换到Wildfly8.1并不能解决这个构建(路径)问题,这最终不知何故受到了arquillian测试框架的影响。pom.xml:${project.build.directory}/endorsedUTF-81.1.5.Final8.1.0.Final4.11arquillian-jbossas-remoteorg.wildflywildfly-arquillian-container-remote${version.org.wildfly}test