Java培训教程-浅谈java虚拟机.docx

Java培训教程-浅谈java虚拟机.docx

ID:50826972

大小:36.66 KB

页数:2页

时间:2020-03-15

Java培训教程-浅谈java虚拟机.docx_第1页
Java培训教程-浅谈java虚拟机.docx_第2页
资源描述:

《Java培训教程-浅谈java虚拟机.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、java虚拟机Java虚拟机(JavaVirtualMachine)简称JVMJava虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。什么是Java虚拟机Java虚拟机(JavaVirtualMachine简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境它是Java最具吸引力的特性之一。Java虚拟机的特点Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点

2、的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。Java虚拟机的使用主体Java虚拟机是Java语言底层实现的基础,对Java语言感兴趣的人都应对Java虚拟机有个大概的

3、了解。这有助于理解Java语言的一些性质,也有助于使用Java语言。对于要在特定平台上实现Java虚拟机的软件人员,Java语言的编译器作者以及要用硬件芯片实现Java虚拟机的人来说,则必须深刻理解Java虚拟机的规范。另外,如果你想扩展Java语言,或是把其它语言编译成Java语言的字节码,你也需要深入地了解Java虚拟机Java虚拟机体系结构Java虚拟机由五个部分组成一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。这五部分是Java虚拟机

4、的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现1.Java指令集Java虚拟机支持大约248个字节码。每个字节码执行一种基本的CPU运算,例如,把一个整数加到寄存器,子程序转移等。Java指令集相当于Java程序的汇编语言。2寄存器Java虚拟机的寄存器用于保存机器的运行状态,与微处理器中的某些专用寄存器类似。Java虚拟机的寄存器有四种pcJava程序计数器。optop指向操作数栈顶端的指针。frame指向当前执行方法的执行环境的指针。vars指向当前执行方法的

5、局部变量区第一个变量的指针。4.无用单元收集堆Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java语言具有无用单元收集能力它不给程序员显式释放对象的能力。Java不规定具体使用的无用单元收集算法,可以根据系统的需求使用各种各样的算法。5.方法区方法区与传统语言中的编译后代码或是Unix进程中的正文段类似。它保存方法代码(编译后的java代码)和符号表。在当前的Java实现中,方法代码不包括在无用单元收集堆中,但计划在将来的版本中实现。每个类文件包含了一个Java类或一个Java界面的编译后的

6、代码。可以说类文件是Java语言的执行代码文件。为了保证类文件的平台无关性,Java虚拟机规范中对类文件的格式也作了详细的说明。其具体细节请参考Sun公司的Java虚拟机规范。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。