我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

java源代码到字节码 编译java源文件和解释执行java字节码文件的指令

北大青鸟java培训:字节码指令的编译与执行?

java编程开发是目前市场上使用范围非常广泛的一种编程开发语言。

创新互联建站-专业网站定制、快速模板网站建设、高性价比民权网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式民权网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖民权地区。费用合理售后完善,10多年实体公司更值得信赖。

今天我们就一起来了解一下,在java编程中关于字节码的一些指令的编译与执行方法。

java文件编译后的class文件,java跨平台的中间层,JVM通过对字节码的解释执行(执行模式,还有JIT编译执行,下面讲解),屏蔽对操作系统的依赖。

一个字节(8位)可以储存256中不同的指令,这样的指令就是字节码,java所有指令有200个左右,这些指令组成了字节码文件(.class)。

一、字节码的主要指令:.class文件里面的十六进制文件,其中CAFEBABE是标志这个文件为java的编译后的文件,00000034代表版本号,01670700一个字节(8位)就是一个字节指令,由于数值指令太难看懂,我们可以用javap将指令翻译为助记指令。

1、加载或储存指令在栈帧中,通过指令操作数据在局部变量表与操作栈间传递。

ILOAD、ALOAD:将int、对象引用类型从局部变量表压入操作栈顶;ISTORE、ASTORE:将int、对象引用类型从操作栈顶储存到局部变量表里;ICONST、BIPUSH、SIPUSH、LDC:将常亮加载到操作栈顶。

2、运算指令对操作栈上的值进行运算,并把结果写入操作栈顶,如IADD、IMUL。

3、类型转换指令I2L、D2F4、对象创建与访问指令NEW除了字节码指令外,湖北电脑培训认为还包括像LINENUMBER储存字节码与源码对应,方便调试定位;LOCALVARIABLE储存当前方法使用到的局部表量表。

二、java源码文件转化为字节码(.class)文件的过程JAVA源文件----------词法解析----------语法解析----------语义分析---------生成字节码---------字节码文件词法分析:根据空格分割出单词、操作符等,形成token信息流;语法分析:根据token流和java语法规范生成语法树;语义分析:检查关键字、类型匹配是否正确;

java源文件经过什么命令可以被编译为字节码文件

java源文件经过javac命令可以被编译为字节码文件。根据查询相关资料信息,javac命令会将Java源文件编译成字节码文件,即.class文件,其中就包含了大量的字节码指令。因此可以将javac命令理解为一个翻译命令,将源文件翻译成Jvm可以执行的指令。

Java里的字节码和源代码分别啥意思,和起到什么左右

/*java是一门高级编程语言,是用来写程序代码的。

用java写的文本(字符串序列)就是源代码。

计算机不能直接执行源代码,必须用一个叫编译器的程序(javac.exe)将源代码

翻译成字节码,然后让一个叫解释器的程序(java.exe)去执行字节码,即运行程序。

下面的就是一个小程序的源代码,功能是输出九九乘法表。

下图中的Test.class就是这个源代码文件翻译后的由字节码组成的文件。

而最下面的那个黑框就是程序执行后的结果。

java Test就是在执行Test.class字节码文件,即运行这个程序。

*/

//这下面的就是源代码

public class Test {

public static void main(String[] args) {

int i,j;

for(i=1;i=9;i++) {

for(j=1;j=i;j++)

System.out.printf("%dx%d=%-4d",j,i,j*i);

System.out.println();

}

}

}


网站名称:java源代码到字节码 编译java源文件和解释执行java字节码文件的指令
分享网址:http://mswzjz.cn/article/doihjco.html

其他资讯