ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Java私塾跟我学系列——JAVA篇 五、

Java私塾跟我学系列——JAVA篇 五、

原创 Linux操作系统 作者:今天天气好晴朗 时间:2012-02-02 11:57:55 0 删除 编辑

五:Java如何做到让机器理解我们想要做的东西                  

用一个图来描述这个过程会比较容易理解:

1:编写代码

首先把我们想要计算机做的事情,通过Java表达出来,写成Java文件,这个过程就是

编写代码的过程。如上图所示的Hello.java文件。

2:编译

写完Java代码后,机器并不认识我们写的Java代码,需要进行编译成为字节码,编译

后的文件叫做class文件。如上图所示的Hello.class文件。

3:类装载ClassLoader

类装载的功能是为执行程序寻找和装载所需要的类。

ClassLoader能够加强代码的安全性,主要方式是:把本机上的类和网络资源类相分离,

在调入类的时候进行检查,因而可以限制任何“特洛伊木马”的应用。

4:字节码(byte-code)校验

功能是对class文件的代码进行校验,保证代码的安全性。

Java 软件代码在实际运行之前要经过几次测试。JVM 将代码输入一个字节码校验器以

测试代码段格式并进行规则检查--检查伪造指针、违反对象访问权限或试图改变对象类型

的非法代码。

注意----所有源于网络的类文件都要经过字节码校验器

字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM 规范并且不破坏系统

的完整性。如果校验器在完成四遍校验后未返回出错信息,则下列各点可被保证:

- 类符合JVM规范的类文件格式

- 无访问限制异常

- 代码未引起操作数栈上溢或下溢

- 所有操作代码的参数类型将总是正确的

- 无非法数据转换发生,如将整数转换为对象引用

- 对象域访问是合法的

5:解释(Interpreter

可是机器也不能认识class文件,还需要被解释器进行解释,机器才能最终理解我们所

要表达的东西。

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

Java私塾跟我学系列——JAVA  网址:http://www.javass.cn  电话:010-68434236

6:运行

最后由运行环境中的Runtime对代码进行运行,真正实现我们想要机器完成的工作。 

7:说明

由上面的讲述,大家看到,Java通过一个编译阶段和一个运行阶段,来让机器最终理解

我们想要它完成的工作,并按照我们的要求进行运行。

在这两个阶段中,需要我们去完成的就是编译阶段的工作,也就是说:我们需要把我们

想要机器完成的工作用Java语言表达出来,写成Java源文件,然后把源文件进行编译,形

class文件,最后就可以在Java运行环境中运行了。运行阶段的工作由Java平台自身提供,

我们不需要做什么工作。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26660100/viewspace-715505/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-02

  • 博文量
    65
  • 访问量
    42984