教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 网站编程教程 · JSP教程 · JSP环境配置

Java学习之Java地运行环境

学院最新推荐文章
教程推荐
『Java学习之Java地运行环境』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-10-31 
Java 时下已经非常流行。全球每天有超过百万的程序员在用Java进行着程序的开发。用Java编写的程序也因为其硬件环境无关性而越来越受到人们的青睐。如果您希望成为Java世界的一员,那就看看这个系列的文章也许对您会有帮助。




无论哪种语言都需要有它特定的运行环境也就是平台,Java 同样不例外。您也许会问,Java程序不是有硬件环境无关性吗?好吧,我希望这篇文章可以回答好这个问题。

几乎所有的语言都是需要通过编译或者解释才可以被您的电脑执行。可是Java有一点不同,它同时需要这两个过程。其实,也正是因为这个原因才使Java这种语言具有了平台无关性。当您写好了一个Java程序的时候(当然这个时候您并不用真的会写Java程序)。首先,通过一段翻译程序将它编译成一种叫做字节码的中间代码。然后再由java平台的解释器将它翻译成为机器语言来执行----平台的核心叫做JVM(Java虚拟机)。Java的编译过程也与其它的语言不同。例如像c++这样的语言,在编译的时候,是与机器的硬件平台信息密不可分的。编译程序通过查表将所有指令的操作数和操作码等等转换成内存的偏移量即程序运行时的内存分配方式,以保证程序运行。而Java却是将指令转换成为一种*.class的文件,这种文件不包含硬件的信息。需要执行的时候只要经过装了JVM的机器解释,创立内存布局后再通过查表来确定一条指令所在的地址。这样就有效的保证了Java的可移植性和安全性。那么Java平台为什么会有这么好的特性呢?

通常一个程序运行的平台是一个硬件或者软件运行的环境。目前比较流行的是Windows 2000, Linux, Solaris, 和MacOS。Java的平台不太一样,它由两个部分组成:一个是Java Virtual Machine即Java虚拟机,另一部分是Java Application Programming Interface (Java API) 即Java应用程序设计接口,这两部份软件就构成了Java运行的基本的环境。Java API 是一个大的已经做好的软件集合,这个集合里有许多开发时所需要的控件,用来辅助开发。Java API和JVM整合在一起处于机器硬件之上。也就是说,Java平台把一个Java应用程序从硬件系统分离开从而很好的保证了程序的独立性。为了更好的适应开发的需要,Java的设计者们为我们提供了三种Java平台:Java 2 Micro Edition (J2ME ), Java 2 Standard Edition (J2SE)和 Java 2 Enterprise Edition (J2EE). 每一个版本都提供了丰富的开发工具箱以适应不同的开发需要。

让我们来具体看看Java平台的核心JVM的具体结构。
为了让编译产生的字节码可以更好的解释与执行,一共把JVM分成了主要的6块:JVM解释器,指令系统,寄存器,栈,存储区,碎片回收区。

JVM解释器就是这个虚拟机的处理字段码的CPU。

JVM指令系统同硬件计算机很相似。一条指令分成操作码和操作数两部分组成。操作码为8位二进制数,操作数可以根据需要而定。操作码是为了说明一条指令的功能,所以JVM可以有多达256种不同的操作指令。

JVM有自己的虚拟寄存器,这样就可以快速的和JVM的解释器进行数据交换。为了功能的需要,JVM设置了常用的4个32位寄存器:pc(程序计数器),optop(操作数栈顶指针),frame(当前执行环境指针),vars(指向当前执行环境中第一个局部变量的指针)。

JVM栈是指令执行的时候数据和信息存储的场所和控制中心,它提供给JVM解释器运算所需要的信息。

JVM存储区就是为了把编译过后的字节码等信息存储起来。

JVM碎片回收是指将那些使用过后的Java类的具体的实例从内存进行回收,这就使得开发人员免去了自己编程控制内存的麻烦和危险。随着JVM的不断升级其碎片回收的技术和算法也更加合理。比较经典的算法有引用计数、复制、标记-清除和标记-整理。在JVM1.4.1版以后产生了一种叫分代收集技术,简单的来说就是利用对象在程序中生存的时间划分成代,以这个为标准进行碎片回收。关于碎片回收将在以后的文章中专门讲解。

最后,通过本文我希望能使大家对Java的运行平台有一个比较清楚的了解。在接下来的文章《 Java学习之踏上旅途的第一步》里我将告诉大家如何安装一个Java平台以及如何开始我们的第一个小程序

】【关闭窗口
·上页:
·下页:
相关文章
     网站编程教程 - JSP环境配置
推荐教程Java程序编码标准!不仅仅是标准
推荐教程嘿嘿,在ibm上地用ant来管理en
推荐教程Java中文疑难详细解说
推荐教程Java学习之Java地运行环境
推荐教程漫谈Java程序地性能优化
推荐教程Java程序编码标准
推荐教程在red hat linux 10下安装 ecl
推荐教程Java程序地性能优化StringBuff
推荐教程Java 学习办法简单介绍
推荐教程ANT安装、配置
推荐教程java做地对比完善地FTP连接上传
推荐教程java Excel API简略介绍(翻译
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光