java和class的区别
.java文件你可以认为只是一个文本文件,这个文件即是用java语言写成的程序,或者说任务的代码块。.class文件本质上是一种二进制文件,它一般是由.java文件通过javac这个命令(jdk本身提供的工具)生成的一个文件,而这个文件可以由jvm(java虚拟机)装载(类装载),然后进java解释执行,这也就是运行你的程序。你也可以这样比较一下:.java与.c,.cpp,.asm等等文件,本质
.java文件你可以认为只是一个文本文件,这个文件即是用java语言写成的程序,或者说任务的代码块。
.class文件本质上是一种二进制文件,它一般是由.java文件通过javac这个命令(jdk本身提供的工具)生成的一个文件,而这个文件可以由jvm(java虚拟机)装载(类装载),然后进java解释执行,这也就是运行你的程序。
你也可以这样比较一下:.java与.c,.cpp,.asm等等文件,本质上一样的,只是用一种语言来描述你要怎么去完成一件事(一个任务),而这种语言计算机本身是没有办法知道是什么含义的,它面向的只是程序员本身,程序员可以通过语言本身(语法)来描述或组织这个任务,这也就是所谓的编程。最后你当然是需要计算机按照你的意图来运行你的程序,这时候就先得有一个翻译(编译,汇编,链接等等复杂的过程)把它变成机器可理解的指令(这就是大家说的机器语言,机器语言本身也是一种编程语言,只是程序很难写,很难读懂,基本上没有办法维护)。
这里的.class文件在计算的体系结构中本质上对应的是一种机器语言(而这里的机器叫作JVM),所以JVM本身是可以直接运行这里的.class文件。所以你可以进一步地认为,.java与.class与其它的编程语法一样,它们都是程序员用来描述自己的任务的一种语言,只是它们面向的对象不一样,而计算机本身只能识别它自已定义的那些指令什么的(再次强调,这里的计算机本身没有那么严格的定义)
更多推荐
所有评论(0)