下载此文档

Java虚拟机3.doc


文档分类: | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
Java虚拟机
1 虚拟机简介
起源
为了减轻编译过程中,中间语言向不同机器代码转换这一烦琐的任务,提出了虚拟机的思想,最早是在五十年代末的UNCOL方案中首先被提出来的,建议设计一个通用的中间语言,该语言的名字为UNCOL(puter oriented language),即面向通用计算机的中间语言。
中间语言的概念与抽象机的概念并不完全相同,中间语言可以看作是抽象机的汇编语言。
抽象机是具体计算机的理论模型。
Turing机图灵机械可计算
通用抽象机
七十年代的通用抽象机JANUS,其基本思想是:把对输入源语言的分析阶段(词法、语法、以及部分语义)与代码生成阶段分割开来。前一部分应该是与具体机器无关的,后一部分则涉及源语言的各种成分在不同的机器上如何实现的问题。
具体的计算机很多,差别很大等,实现起来较困难。
专用抽象机
为特定计算机设计的专用抽象机。
从通用抽象机到专用抽象机,表明人们的认识也有了提高,放弃了不切实际的目标,转而追求比较现实的目标。
面向语言的专用抽象机
这种AM只能用来实现和移植某一种特定的语言,许多著名的语言都有了自己的专用抽象机,如Pascal的P-CODE,ALGOL的Z-CODE等。
目的:
(1) 便于移植
把这个系统用抽象机的方法重新实现一遍,然后再把用抽象机写的系统提供给用户,使用户只需花费实现一个小抽象机的代价就可得到整个系统。
(2) 获得高效率
在特殊的硬件模型上获得高效率。抽象机可视为硬件模型的软件映射,它是介于语言的语义和硬件物理实现之间的一个层次,是从该语言中抽出其基本功能而设计的一台直接执行这些基本功能的理想机器。
2 Java虚拟机概述
Java虚拟机(Java virtual machine,JVM)是面向语言的专用抽象机,它的设计主要是受了P-Code的影响,它和P-Code一样都是面向堆栈的机器,JVM的设计兼顾了软件的移植与硬件的执行效率,目前已有以JVM指令为机器指令的Java CPU。
Java语言之所以实现了平台中立,其根本原因在于各操作系统平台都配有Java虚拟机,虚拟机屏蔽了不同软硬平台之间的差异,它负责解释或及时编译执行Java字节码文件。
Java 虚拟机是一组有关指令系统、字节码格式等的规格说明。只要根据JVM的规格描述将解释移植到特定的计算机上,就能保证经过编译的任何Java代码都能在该机器上运行。
当说到“Java虚拟机”时,可能有以下三种解释:
抽象规范
一个具体的实现
一个运行中的虚拟机实例
当启动一个Java程时,一个虚拟机实例就诞生了;当该程序关闭,这个虚拟机实例也就随之消亡了。
图 Java平台结构
每个Java 虚拟机包含:
一个类装载子系统
一个执行引擎
运行时的数据区

Java虚拟机技术是Java平台的核心技术,涉及的范围很广,其中包括解释技术、及时编译技术、异常处理技术、多线程技术、内存管理与无用单元的回收技术等。
3 Java虚拟机的体系结构与设计
图 Java虚拟机的体系结构
公用设备:
寄存器、Java栈、对象堆、
方法区
JVM为每一个线程分配一个Java栈,及一个本地方法栈。
在JVM中,所有的线程共享一个方法

Java虚拟机3 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小251 KB
  • 时间2018-03-18
最近更新