2010-01-11 72 views
7

只要他们说在JVM中运行.class文件。他们的意思是在终端中使用“java”命令。是命令“java”的JVM吗?

或者你可以点击它来打开它吗?

+0

我非常想知道为什么这个问题被downvoted?我甚至认为它应该是upvoted,因为我不认为这是一个坏问题。 – Alfred 2010-01-11 21:01:56

+0

我的问题往往被低估,我问得太多=) – ajsie 2010-01-11 21:14:15

+1

@noname:我会猜这是用户名,而不是问题。 – Uri 2010-01-12 23:39:35

回答

4

一个java文件被编译成一个类文件,它是一堆java字节码。 JVM是可以执行java字节码的东西。

java是一个命令行工具,它是Java运行时环境(JRE)的一部分,它知道如何启动Java虚拟机,加载和执行类文件。

5

是的,如果你安装了JRE,java应该是JVM。

1
  1. 是的,您使用java命令来启动JVM或Java虚拟机的实例。

  2. 根据您的操作系统,您可以勾选某个类文件,双击一个类文件,您的操作系统是什么?

+0

Mac os x。但如果.class不是Swing应用程序。它只是使用system.out.println。当我双击.class文件时它将如何显示? – ajsie 2010-01-11 20:58:14

+0

我对mac os不太好,但应该可以启动一个终端窗口。 – pstanton 2010-01-11 20:59:38

2

Java JVM可以以不同的方式打包并从各种可执行文件开始。

大多数开发人员启动JVM的标准方式的确是使用java.exe。但是,这是一个命令行程序,因此您需要为其提供额外的详细信息:包含main的类的名称,以及用于查找要加载的类的类路径。

在大多数操作系统中,单击Java图标将不会执行任何操作,因为它仅仅运行没有任何参数的可执行文件,并且可执行文件只会在不运行任何内容的情况下退出。如果要在Windows中双击,请创建一个快捷方式,并在java.exe部件后面将相关命令行参数添加到命令中。

+0

他在Mac上。 – pstanton 2010-01-12 23:18:35

0

正如其他文章中提到的那样,可以使用java命令或可执行文件来创建正在运行的JVM。但是还有其他一些方法可以找到JVM,它们通常通过JAVA_HOME为您找到java,例如运行tomcat(用于java的Web服务器,有时称为“容器”),Java WebStart,用于将Java发行版同步到本地系统并在JVM和Java Applet中启动它(老派试图扩大在Java中直接在浏览器中运行的Web上的Java使用)。基本上它们都是通过调用java.exe或JRE中的一个兄弟(例如javaw.exe)来创建JVM。

0

.CLASS文件是Java字节码。它不是严格意义上的Java(其他一些语言具有相同的字节码结构)。 JVM可能会引用命令java或javaw。唯一的区别是java是为了运行控制台小程序,而javaw是为了窗口接口。例如,Minecraft(一个主要的Java应用程序)包含一个独立的启动器(一个本地Windows应用程序)。它使用javaw,因为它有它自己的特殊窗口容器等。