简述Java 从代码到运行的全过程
来源:互联网 发布:安装linux设置主机名 编辑:程序博客网 时间:2024/04/29 04:10
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 平台自身提供,我们不需要做什么工作。
- 简述Java 从代码到运行的全过程
- 简述Java 从代码到运行的全过程
- 可执行文件从装载到运行的全过程描述
- 在nodejs下express 从安装到运行的全过程
- Java新手之Java 从代码到运行的过程
- Iparhan_ Java 从代码到运行的过程人性化解释
- 程序从代码到可执行文件的过程简述
- java桌面程序从打包到安装的全过程
- 一个cocos2d程序的完整人生(从环境到代码全过程)
- Xen从启动到运行的调度相关代码分析
- Xen从启动到运行的调度相关代码分析
- 一个简单java程序的运行全过程
- 【JAVA基础简述】java从启动到类加载完成的内部动作
- [JAVA]使用Eclipse从下载到编写一个实例全过程
- 从纯洁男孩到坠落男人的全过程
- 从输入网址到显示网页的全过程分析
- 【win xp系统从面世到终结的全过程】
- 一个网站从诞生到发展的全过程
- eclipse版本代号
- TexturePacker一个不错的图片组合工具
- C# 通过配置文件设置运行时程序集转向解决ODP.net 和 oracle全版本自带程序集的冲突。【闲言碎语】
- zoj 1721 The Doors(最短路,构图不易)
- USACO 八皇后问题扩展
- 简述Java 从代码到运行的全过程
- sql server死锁的查询和解除
- 强连通分量_Kosaraju算法
- 1394. Root of the Problem
- USACO Section 5.2 Snail Trail - 很水的枚举..
- android更新到4.0后的,我xml写的界面无法在graphical layout中显示,怎么处理?
- 阻塞与非阻塞概念
- 网络搜索帮手
- 编写一个strlen函数(不用全局变量或局部变量)