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