2

使用JDK,我可以将.java文件编译成.class文件,然后我可以运行.class文件,这是否意味着.class文件是在JVM上运行的最终可执行文件?
此外,什么是jar文件?以及jar文件和.class文件之间的区别?

4

2 回答 2

4

1.class文件是一个byte code files由JVM执行的文件,在JVM之外没有任何意义。让它只在 JVM 上有意义而不在外部有意义,这就是让每个 java 程序都在其内部运行的原因。own sandbox .

2. Jar 文件是运行程序所必需的所有文件的集合,认为是打包所有文件和依赖库并提供单个文件的简单方法。我们也有可以称为class filelibrariesRunnable JarsExecutable Jar

///////// 编辑部分////////////////

现在,这由(即时编译器)在运行时byte-code转换为。JIT 会在 Runtime 期间寻找程序的运行时密集部分,然后将其转换为机器级可执行文件,这部分程序称为,而称为。machine level executableJIT Hot-spotJITHot-Spot-Compiler

于 2012-08-11T10:16:06.887 回答
1

顾名思义,jar(java 存档)是可以执行的 java 类的存档或集合。

Java 反编译器是一种从 .class 扩展名到 .java 扩展名进行逆向工程的工具。

要制作 jar,请使用以下链接

http://docs.oracle.com/javase/tutorial/deployment/jar/build.html

或使用 windows 命令提示符

jar cf JAR_FILE_NAME FILE_NAMES_OR_DIRECTORY_NAME
e.g.
jar cf MyApp1.jar C:\JavaProject\MyApp
于 2012-08-11T10:26:33.413 回答