使用JDK,我可以将 .java 文件编译成 .class 文件,然后我可以运行 .class 文件,这意味着 .class 文件是在JVM上运行的最终可执行文件? 此外,什么是 jar 文件?以及 jar 文件和 .class 文件之间的区别?
答案 0 :(得分:3)
1。类文件是byte code files
,由JVM执行,在JVM之外没有任何意义。仅使其有意义JVM但不在外面,是使每个java程序在own sandbox .
2。 Jar文件是运行程序所需的所有class file
,libraries
的集合,认为它是简单的方法来打包所有文件和依赖库并提供单个文件。我们还有Runnable Jars
,可以称为Executable Jar
////////// EDITED PART //////////////////
现在,byte-code
(即时编辑器)在运行时期间将此machine level executable
转换为JIT
。 JIT将在运行时期间查找程序的运行时密集型部分,然后将其转换为机器级可执行文件,该程序的这一部分称为 {{1 } {} Hot-spot
被称为JIT
。
答案 1 :(得分:1)
一个jar(java archive)就像它的名字所说的那样是一个可以执行的java类的存档或集合。
java反编译器是一种从.class扩展名到.java扩展名进行逆向工程的工具。
使用以下链接制作jar
http://docs.oracle.com/javase/tutorial/deployment/jar/build.html
或使用Windows命令promt
jar cf JAR_FILE_NAME FILE_NAMES_OR_DIRECTORY_NAME
e.g.
jar cf MyApp1.jar C:\JavaProject\MyApp