A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 鹏少 中级黑马   /  2014-12-18 23:03  /  1957 人查看  /  9 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

Person p =new Person( );因为new 要用到Person.class文件。那class文件怎么产生的呢,有谁能告诉我吗



9 个回复

倒序浏览
你使用javac编译文件的时候,自动生成的啊,只要你的文件里面写有class Person的内容
回复 使用道具 举报
是JAVA虚拟机自动生成的吗
回复 使用道具 举报
我们写的代码计算机是不认识的,只有通过Java虚拟机讲这种语言转变成计算机认识的语言,当我们编译java文件时就会成.class文件,当我们运行时运行的便是class文件,而不是java文件,这是java跨平台的体现,
回复 使用道具 举报
掉了一地.. 发表于 2014-12-20 20:07
我们写的代码计算机是不认识的,只有通过Java虚拟机讲这种语言转变成计算机认识的语言,当我们编译java文件 ...

在C语言中,我们写的源文件.c直接被处理成了.exe,.exe是windows认识的可执行文件,故直接就执行了。
换言之,C的这个操作是没有平台移植性的。Windows认识.exe,但其他平台并不认识.exe这个东西。
再看java,它并没有针对平台生成东西,而是生成了一个字节码文件.class,你在任何一个平台上只要装上JAVA对应该平台的JVM,就可以执行你的.class了。
回复 使用道具 举报
明白,谢谢大哥指导
回复 使用道具 举报
楼上解释的很到位
回复 使用道具 举报
很详细 很好
回复 使用道具 举报
javac生成的。然后虚拟机加载这个类时,又会把这个文件抽象成一个Class对象。
回复 使用道具 举报
class文件是JVM编译java源文件后产生的字节码文件,里面是JVM对相对应的.java文件编译的结果,希望能帮到你
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马