免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4321 | 回复: 8
打印 上一主题 下一主题

java基础——Java 从代码到运行的过程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-29 11:27 |只看该作者 |倒序浏览
Java 从代码到运行的过程

声明:java私塾跟我学系列——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 文件,还需要被解释器进行解释,机器才能最终理解我们所要表达的东西。

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

7:说明
    由上面的讲述,大家看到,Java通过一个编译阶段和一个运行阶段,来让机器最终理解我们想要它完成的工作,并按照我们的要求进行运行。
    在这两个阶段中,需要我们去完成的就是编译阶段的工作,也就是说:我们需要把我们想要机器完成的工作用Java 语言表达出来,写成Java 源文件,然后把源文件进行编译,形成class文件, 最后就可以在Java 运行环境中运行了。 运行阶段的工作由Java 平台自身提供,我们不需要做什么工作。

论坛徽章:
0
2 [报告]
发表于 2011-06-30 10:53 |只看该作者
编写代码--->编译成为字节码(class文件)--->类装载--->字节码校验--->被解释器进行解释--->运行

就是这个吧

论坛徽章:
0
3 [报告]
发表于 2011-06-30 22:54 |只看该作者



基础,温习一下

论坛徽章:
0
4 [报告]
发表于 2011-07-04 11:30 |只看该作者
回顾回顾

论坛徽章:
0
5 [报告]
发表于 2011-07-04 11:52 |只看该作者
新手学习了哈。

论坛徽章:
0
6 [报告]
发表于 2011-07-12 23:30 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2011-07-20 11:34 |只看该作者
入门基础

论坛徽章:
0
8 [报告]
发表于 2011-07-21 12:00 |只看该作者
回味基础。。。

论坛徽章:
0
9 [报告]
发表于 2011-07-26 09:53 |只看该作者
学习了 呵呵!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP