什么是java虚拟机,它和Java有什么关系?

she*_*wen 1 java jvm jre macos

我试图在我的 Macbook Air 上安装 eclipse。当我运行安装程序时,我收到此消息

在此处输入图片说明

似乎没有像其他应用程序那样专门用于 JVM 的官方页面。当我搜索“安装 jvm”时,我被引导到“下载 java ”页面。

无论如何,我从该页面安装了最新的 Java,但该消息仍然存在,这让我更加困惑。

问题是:

  1. 如果 JVM 旨在“在任何地方”启用 Java,那么在我安装最新的 Java 之后不应该已经安装了吗?

  2. 当我在 google 周围搜索时显示了很多页面,它们看起来都不是真正的页面,我什至jvm在 java.com 中搜索,但没有任何有用的内容出现。

    为什么这么难找到这么流行的工具,我应该去哪里下载JVM?

Dav*_*ill 5

什么是JVM?

Java 虚拟机 (JVM) 是一个运行 Java 字节码的解释器。

当您编译 Java 程序时,输出是 Java 字节码,然后可以由具有本机 JVM 的任何计算机执行。

在 Java 编程语言中,所有源代码首先编写在以 .j​​ava 扩展名结尾的纯文本文件中。

然后这些源文件被 javac 编译器编译成 .class 文件。

.class 文件不包含处理器的原生代码;相反,它包含字节码——Java 虚拟机 (JVM) 的机器语言。

然后,java 启动器工具使用 Java 虚拟机的实例运行您的应用程序。

在此处输入图片说明

由于 Java VM 可用于许多不同的操作系统,因此相同的 .class 文件能够在 Microsoft Windows、Solaris™ 操作系统 (Solaris OS)、Linux 或 Mac OS 上运行。

某些虚拟机(例如 Java SE HotSpot 概览)会在运行时执行额外的步骤以提高应用程序的性能。这包括各种任务,例如查找性能瓶颈和重新编译(到本机代码)经常使用的代码部分。

在此处输入图片说明

关于 Java 技术的来源


那么如何下载JVM呢?

Java 运行时环境 (JRE) 包括一个 JVM。

  • 如果您只是运行 Java 程序,JRE 就足够了。

Java Development Kit 是 JRE 的超集(因此它还包括一个 JVM)。它还包含开发 Java 程序所需的其他工具,例如编译器。

  • 如果您正在开发 Java 程序,您应该下载 JDK。

您可以在http://www.oracle.com/technetwork/java/javase/downloads/index.html下载 JRE 和 JDK


那么为什么我会收到错误消息?

您已经安装的 JVM 版本对于您尝试安装的 Eclipse 版本来说太旧了。

为了获得更新的版本,您需要安装更新的 JRE 或更新的 JDK,它们都包含一个 JVM。


无论如何,我从该页面安装了最新的 Java,但该消息仍然存在

您的问题的一个潜在解决方案可能是卸载 Java6(由 Apple 自己提供)并且只在您的系统中安装 Java7。这仅适用于您没有迫切需要安装旧 Java6 版本的应用程序的情况。

要删除类似 Apple 的 Java6 安装,请打开一个终端,然后:

sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
Run Code Online (Sandbox Code Playgroud)

在这一步之后,您的系统中应该只安装了 Oracle 的 Java7。要验证,请打开另一个终端并执行以下操作:

java -version 
Run Code Online (Sandbox Code Playgroud)

它应该显示类似“java version "1.7.0_XX”的内容,其中 XX 是 Java7 安装的当前更新版本。如果不是:继续下一步。

重新定义JAVA_HOME变量(以支持 IDE 之类的 Eclipse 和其他开发人员工具...),这有助于检测“活动”Java 安装在系统中的位置。打开终端和(注意:先替换 XX!):

sudo rm /Library/Java/Home

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_XX.jdk/Contents/Home /Library/Java/Home
Run Code Online (Sandbox Code Playgroud)

之后,全新安装的 Eclipse 应该会在您的系统中检测到 Java7,并且应该可以开箱即用地使用该版本。您可以通过在 Eclipse 中导航到以下位置来修改已安装的 Eclipse 以使用此安装:

Preferences-> Java-> Installed JREs

然后删除旧的 Java6 系统条目并添加名为 Java7 的新路径(见上文)。

来源答案我安装的Java 7但是Eclipse一直说1.6是不适合本产品MWiesner