- 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 栈是指令执行时数据和信息存储的场所和控制
您可能关注的文档
- 笔记本电脑拆机清理及扩充内存教程2012.21.pdf
- 笔记本电脑与台式电脑在家里没有装网也可以上网.doc
- 笔记本高级制作.pdf
- 笔记本或台式电脑C盘大小调整.docx
- 大学计算机基础--第12篇_中文Windows_XP操作系统.ppt
- 大学计算机基础教程第2节.ppt
- 大学计算机应用基础和上机实验指导 第4章 中文Excel 2003.ppt
- 大学计算机应用基础和上机指导第二章.docx
- 大学生必须掌握装系统.doc
- 笔记本键盘类型.ppt
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
文档评论(0)