黑马程序员技术交流社区

标题: class文件怎么产生的 [打印本页]

作者: 鹏少    时间: 2014-12-18 23:03
标题: class文件怎么产生的
Person p =new Person( );因为new 要用到Person.class文件。那class文件怎么产生的呢,有谁能告诉我吗




作者: 青衫禅客    时间: 2014-12-19 00:21
你使用javac编译文件的时候,自动生成的啊,只要你的文件里面写有class Person的内容
作者: 鹏少    时间: 2014-12-20 19:00
是JAVA虚拟机自动生成的吗
作者: 掉了一地..    时间: 2014-12-20 20:07
我们写的代码计算机是不认识的,只有通过Java虚拟机讲这种语言转变成计算机认识的语言,当我们编译java文件时就会成.class文件,当我们运行时运行的便是class文件,而不是java文件,这是java跨平台的体现,
作者: 掉了一地..    时间: 2014-12-20 20:09
掉了一地.. 发表于 2014-12-20 20:07
我们写的代码计算机是不认识的,只有通过Java虚拟机讲这种语言转变成计算机认识的语言,当我们编译java文件 ...

在C语言中,我们写的源文件.c直接被处理成了.exe,.exe是windows认识的可执行文件,故直接就执行了。
换言之,C的这个操作是没有平台移植性的。Windows认识.exe,但其他平台并不认识.exe这个东西。
再看java,它并没有针对平台生成东西,而是生成了一个字节码文件.class,你在任何一个平台上只要装上JAVA对应该平台的JVM,就可以执行你的.class了。
作者: 鹏少    时间: 2014-12-20 20:26
明白,谢谢大哥指导
作者: zhaojiajun    时间: 2014-12-20 21:51
楼上解释的很到位
作者: 王晓杰    时间: 2014-12-21 10:29
很详细 很好
作者: Little_Pea    时间: 2014-12-21 11:06
javac生成的。然后虚拟机加载这个类时,又会把这个文件抽象成一个Class对象。
作者: wangbiao    时间: 2014-12-21 12:23
class文件是JVM编译java源文件后产生的字节码文件,里面是JVM对相对应的.java文件编译的结果,希望能帮到你




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2