当我安装netbeans时,它给了我选择java环境的选项,我有3个选项,oracle java和这两个(java-1.7.0-openjdk-i386和java-7-openjdk-i386)。这两个有什么区别呢?操作系统如果Ubuntu。
这两个openjdk
是相同的。但是,OpenJDK与Oracle JDK略有不同。阅读这篇文章获得更多的澄清。
您获得两个OpenJDK选项的原因可能是您安装了两个OpenJDK副本(或者系统上对同一目录的两个不同引用)
有关进一步的研究,请尝试ls-lh/usr/lib/jvm
。/usr/lib/jvm通常是安装Java的目录。检查其中一个是否是符号链接。另外,在netbeans中检查两个JDK的位置,看看系统上是否有两个Java版本或引用。
ls -lh
total 24K
lrwxrwxrwx 1 root root 26 Sep 10 13:41 default-java -> /usr/lib/jvm/java-7-oracle
lrwxrwxrwx 1 root root 18 Mar 13 2012 java-1.5.0-gcj -> java-1.5.0-gcj-4.6
drwxr-xr-x 7 root root 4.0K Aug 22 2012 java-1.5.0-gcj-4.6
lrwxrwxrwx 1 root root 19 Jun 26 2012 java-1.6.0-openjdk-i386 -> java-6-openjdk-i386
drwxr-xr-x 3 root root 4.0K Feb 15 10:52 java-6-openjdk-common
drwxr-xr-x 7 root root 4.0K Feb 15 10:52 java-6-openjdk-i386
drwxr-xr-x 8 ankit ankit 4.0K Jun 6 2012 java-6-sun
drwxr-xr-x 5 root root 4.0K Aug 22 2012 java-7-openjdk-i386
drwxr-xr-x 8 root root 4.0K Feb 20 10:40 java-7-oracle
lrwxrwxrwx 1 root root 12 Mar 13 2012 java-gcj -> java-gcj-4.6
lrwxrwxrwx 1 root root 18 Apr 16 2012 java-gcj-4.6 -> java-1.5.0-gcj-4.6
如您所见,java-1.6.0-openjdk-i386
只是对另一个名为java-6-openjdk-i386
目录的符号链接/引用
JVM、JDK、JRE和OpenJDK之间的区别是什么? 我在Java编程时遇到了这些短语,它们之间有什么不同?
问题内容: JVM,JDK,JRE和OpenJDK有什么区别? 我在用Java编程时遇到了这些短语,它们之间有什么区别? 问题答案: 虚拟机 在Java虚拟机(JVM)是运行Java字节代码的虚拟机。JVM不理解Java源代码;这就是为什么需要编译文件以获取包含JVM可以理解的字节码的文件的原因。它也是允许Java成为“便携式语言”的实体(编写一次,可以在任何地方运行)。实际上,对于不同的系统(W
问题内容: 我在理解Java JRE的一些基本知识时遇到了麻烦。 我需要在嵌入式系统中运行Java代码,为此,我需要在Linux内核中安装最小的Java运行时环境,即执行Java二进制文件所需的最小程序包。我认为仅使用JVM是不可能的(JRE包是必需的,在这里我错了吗?) 事情是,看着Debian仓库的时候我也不太明白软件包之间的差异,和。Java程序将仅与前者一起运行吗?还是需要其中三个? 这是
问题内容: Oracle和OpenJDK之间有什么重要区别吗? 例如,垃圾回收和其他JVM参数是否相同? 两者之间的GC工作方式是否有所不同? 问题答案: OpenJDK和Oracle JDK都仅由Oracle当前创建和维护。 OpenJDK和Oracle JDK是通过TCK(Java技术认证套件)的同一Java规范的实现。 JDK的大多数供应商都是通过OpenJDK编写的,它们做了一些调整[主要
问题内容: 我知道一个API称为一组用于调用某些东西的函数,一个库是一个类的集合,但是像这样的包中的API实际上是什么?我可以在不使用任何API的情况下连接到类似的类,那么为什么我们称其为J2SE API而不是J2SE软件包? 问题答案: 直接来自维基百科: 在计算机科学中,应用程序编程接口(API)是定义应用程序可以从库请求服务的方式的接口 Java在那些软件包中包含许多库(Swing等),而A
问题内容: 我无法理解以下文本…这是否意味着空的构造函数?为什么拥有两个不同的版本很重要? https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html 在Java虚拟机级别,每个构造函数(第2.12节)都作为具有特殊名称的实例初始化方法出现。该名称由编译器提供。因为该名称不是有效的标识符,所以不能直接用Java编程语言编写的程序中使