黑马程序员技术交流社区

标题: 字节码的小疑问???? [打印本页]

作者: IT人    时间: 2013-12-5 10:39
标题: 字节码的小疑问????
当java程序被编译器编译成class文件存在硬盘上,但是不能成为字节码,JVM的类加载器把.class文件加载进内存后,才能成为字节码。在这中间有什么不同么???发生了什么变化????
作者: 李红亮    时间: 2013-12-5 11:02
你好,楼主,.java源文件被编译器编译成.class文件时,.class文件就是所谓的字节码了,只不过我们用平时那些文件查看器是看不到.class文件里面的内容的,看到的是乱码 ,.class文件可以被java虚拟机(JVM)识别并执行.
作者: Jim-剣◆﹏    时间: 2013-12-5 11:18
字节码是二进制,.class文件的还是乱码,要经过累加载器处理,得到计算机能够识别的语言
建议去再看一看java的跨平台实现原理,图示比较清楚
作者: java--周群    时间: 2013-12-5 15:51
.class文件就是字节码文件   .class文件是JVM能识别的文件
作者: ┾——黑马    时间: 2013-12-6 10:18
为了保持它跨平台的特性,java源文件先编译成一种中间码,在运行的时候再实时编译成目标平台的机器码。这就是不同之处
作者: 侠客梦的懒猫    时间: 2013-12-6 10:43
字节码与特定机器码不同,是需要直译器转译后才能成为机器码的中间代码。字节码主要为了实现特定软件运行和软件环境、与硬件环境无关。字节码的实现方式是通过编译器和虚拟机器。

“当java程序被编译器编译成class文件存在硬盘上,但是不能成为字节码”,放到class里面的就是字节码。




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