- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 1 章 Java 的开发运行环境
学好Java 最重要的一个步骤就是上机编程,熟悉Java 的开发运行环境是成为Java 程
序员的第一步。本章将详细介绍如何安装并配置好Sun 公司提供的JDK1.5 for Windows ,
如何编制一个简单的Java 程序,如何编译一个Java 源程序,如何运行编译好的class 文件
以及如何避免初学者常犯的错误。通过本章的学习,将轻松地迈入Java 的殿堂。
1.1 Java 的运行环境与虚拟机
任何一个可执行文件,都必须在某个平台上才能运行。例如,Windows 下的exe 文件,
必须在Windows 环境下、X86 硬件平台上才能运行。这些exe 文件,通常是使用C/C++、
Pascal 或VB 等语言编程,然后通过编译、链接而形成的。在这些可执行文件中,包含了
运行它的硬件平台的相关信息,所以如果要把它移植到其他平台上,必须要重新编译,甚
至要修改源文件。
Java 和这些语言不同,它的最大特点就是平台无关性。Java 文件经编译后,生成的是
一个后缀名为class 的文件。这是一种字节码文件,它不像普通可执行文件那样包含硬件信
息,而是完全与硬件平台无关,也就是无法直接由操作系统调用运行。所以Java 的应用程
序,需要一个更为复杂的平台才能运行。这个运行平台,包括计算机操作系统、适配器、
Java 虚拟机、Java 基本软件和Java 应用程序接口,它们负责将Java 的字节码翻译成硬件
可以接受的指令。整个运行系统的结构如图1.1 所示。
图1.1 Java 运行系统
Java 运行系统执行Java 应用程序的过程包括三个步骤:首先是代码的装入,然后是代
码的验证,最后是代码的执行。
第1 章 Java 的开发运行环境
代码的装入由类装配器完成,它主要负责装入程序运行时所需要的全部代码,包括程
序运行中调用到的其他类。当类装配器装入一个类后,该类被放在自己的命名空间中,除
了通过符号引用其他类之外,该类不能影响其他类所在的空间。当装入了运行程序所需要
的所有类后,运行系统就能确定整个可执行程序的内存布局。
然后,被装入的代码将由字节码验证器进行安全检查,以确保字节代码不存在违反访
问权限、不规范的数据类型和非法调用等问题。
通过校验之后,代码就可以运行了。Java 的字节码有两种运行方式:
解释执行方式:通过“解释器”,将字节码翻译成机器码,然后由“运行支持库”
将机器码送往硬件执行。整个执行过程是一边翻译一边执行,称为解释执行。Java
系统一般采用这种方式。
即时编译方式:通过“代码生成器”,先一次性地将所有字节码翻译成适用于特定
计算机系统的机器码,然后送往硬件执行。对程序运行速度要求较高时,一般采
用这种方式。
从图 1.1 可以看出,Java 的字节码并没有直接运行在硬件平台上,而是在一个虚拟的
软件平台上运行。这个虚拟的软件平台,被称为Java 虚拟机(Java Virtual Machine ,JVM )。
为了让编译产生的字节码可以更好地解释与执行,通常把JVM 分成 6 个功能模块:JVM
解释器、指令系统、寄存器、栈、存储区和碎片回收区。
JVM 解释器:JVM 解释器负责将字节码转换成为CPU 能执行的机器指令。
指令系统:指令系统同硬件计算机很相似。一条指令分成操作码和操作数两部分。
操作码为 8 位二进制数,操作数可以根据需要而定。操作码是为了说明一条指令
的功能,所以JVM 可以有多达256 种不同的操作指令。
寄存器:JVM 有自己的虚拟寄存器,这样就可以快速地和JVM 的解释器进行数据
交换。为了实现必需的功能,JVM 设置了4 个常用的32 位寄存器:pc (程序计数
器)、optop (操作数栈顶指针)、frame (当前执行环境指针)和vars (指向当前执
行环境中第一个局部变量的指针)。
栈:JVM 栈是指令执行时数据和信息存储的场所和控制
您可能关注的文档
- (6-1)第六讲Authorware课件开发――交互课件开发.ppt
- (6-2)第六节Authorware课件开发――交互课件开发.ppt
- (ERP基本操作方法部分)知识.doc
- (NVIDIA)系列显卡双屏幕配置说明知识.doc
- (xuesheng)第八章评判性思维及临床护理决策.pdf
- (第3章 ARM寻址方式和指令系统) 9 10节.ppt
- (第4章-2)表文件的显示和维护.ppt
- (电大2010年秋)计算机应用基础形成性考核册题目与答案.doc
- (翻译及注解)“El Torito”可引导CD-ROM格式规范V1.0Bootable CD-ROM Format Specification.pdf
- (改)食品安全管理方法Microsoft Word 文档 2副本.doc
文档评论(0)