现在的位置: 首页 > 综合 > 正文

(Jav​​a卡)JavaCard222VM“规格(JavaCard的2.2.2虚拟机规范 – 中英文对照,第三章)

2012年05月09日 ⁄ 综合 ⁄ 共 2691字 ⁄ 字号 评论关闭

Java Card虚拟
的Java卡虚拟机的结构的结构

Java卡虚拟机的规格是在许多的方式非常相似
的Java虚拟机。这当然是故意的相似性,设计
的Java Card虚拟机上的Java虚拟机是基于
本规范的
Java虚拟机共享的所有细节,而不是重申,本章将主要其对应的Java 
虚拟机规范,第二版,提供新的信息只有在
Java Card虚拟机 2虚拟机的不同。

3.1数据类型和值
3.1数据类型和值
的Java Card虚拟机支持的数据类型的Java 
虚拟机:原始类型和引用类型相同的两个种同样地,
使用相同的两个种:原始值和参考

原始的Java Card虚拟机支持的数据类型是数字
类型,布尔类型和返回地址类型。数值类型包括
以下类型:
■字节,其值是8位带符号位的补码整数
■短,其值是16位有符号二进制补码整数

字节:8位有符号的2进制整数
■短:16位有符号的2进制整数

一些Java Card虚拟机的实现也可以支持额外的
积分类型:
■整数,其值是32位带符号二进制补码整数
一些JAVA卡虚拟机也可以支持附加的整形
■整数,32位有符号的二进制整数。

在Java虚拟机的支持布尔类型是相同的。
值1被用来表示真实的和为0的值是用来表示假。
支持引用类型是相同的,在Java虚拟

3.2的词语,
3.2字
Java Card虚拟机中定义的一个抽象的存储单元称为一个
字。本规范没有强制位的实际大小,一个字一个
特定的平台一个字是大到足以容纳一个字节类型的值,总之,
引用或返回地址。两个词是大到足以容纳一个值的
类型

实际使用的存储值的实现是特定于平台的。
足够的信息,存在于一个CAP文件的描述符分量允许
执行优化变量中的值和用于存储

3.3运行时数据区
3.3运行态数据域
的Java Card虚拟机只能支持一个单独的线程执行。任何
在Java虚拟机运行时数据区被复制到每个线程
都只有一个全局副本在Java Card虚拟机,
Java Card虚拟机的堆不被垃圾收集。
从堆中分配的对象不一定被回收。
本规范不包括对本地方法的支持,所以有没有
本机方法堆栈。
否则,运行时数据区记录的Java虚拟

3.4上下文
3.4上下文
与执行
上下文相关的每个小程序的Java Card虚拟机上运行的Java Card虚拟机使用当前帧的背景下,
applet间业务的强制执行安全政策。
有一到上下文之间的映射和包applet的
定义。一个简单的方法去思考的情况下运行时相当于一个包,
因为Java的包编译时的结构和在
运行时有没有直接的代表因此,从同一个包中的所有小应用程序实例将共享
相同的

Java Card运行时环境也有自己的上下文。框架对象
执行这个Java卡RE

当前执行的方法的上下文中是已知的作为当前上下文。
在Java Card虚拟机的每个对象拥有一个特定的上下文。拥有
上下文的背景下,这是当前对象时

当在一个上下文中的方法成功地在另一个
上下文中的对象调用一个方法时,Java卡虚拟机执行的上下文切换。之后,
被调用的方法的上下文成为当前的上下文。当被调用的方法
返回当前上下文切换回以前的

3.5 3.5帧
Java Card虚拟机框架定义的Java 
虚拟机是非常相似的每个框架都具有一组局部变量和操作数堆栈
帧还包含一个常量池,但因为所有的常量池
被合并一个包中的所有类,所指的是常量池中的当前
类的包
每个帧还包括一个参考上下文,其中当前的方法

3.6表示对象
3.6对象的描述
Java Card虚拟机并不要求一个特定的
对象或特定的布局其内容的内部结构然而,在一个
CAP文件的核心组件被定义假设一个默认的结构的某些运行时结构(例如
类的描述),和一个动态
分配的对象的内容的缺省布局可以
使用从CAP文件的描述符分量的信息来格式化任何方式的实现中的对象

3.7特殊初始化方法
3.7特殊初始化方法

Java Card虚拟机实例的初始化方法完全一样
的Java虚拟机。
JAVA卡虚拟机支持和java的虚拟机一样的实例初始化方法。

Java Card虚拟机的类或接口
的初始化方法只包括有限的支持有没有一般的机制,
在Java Card虚拟机执行<clinit>方法。相反,CAP文件包括
第2.2.4.6中定义的初始化类的数据信息,“类
初始化“

3.8异常
3.8异常

在Java Card虚拟机的支持例外是相同的
异常在Java虚拟机的支持
JAVA卡虚拟机的异常支持和JAVA虚拟机的异常支持相同。

3.9 
3.9 二进制文件格式的二进制文件格式

该规范定义了两个平台
自主开发,分发和执行的Java Card程序的二进制文件格式,使
CAP文件格式说明文件,其中包含可执行代码,可以
下载并安装到一个Java Card技术的设备。一个CAP文件是
Java Card平台转换工具,并且包含
整个包的Java类转换形式的此文件格式之间的关系的Java卡
虚拟机是类似的关系的类文件格式的Java 
虚拟

导出文件格式的描述文件,其中包含公共的
Java卡API包的链接信息客户端
包,一个包的导出文件时使用的转换

3.10指令集汇总
Java Card虚拟机的指令集是相当类似的Java虚拟
机指令集。单个指令由一个字节的操作码和零个
或多个操作数组成。Java Card虚拟机的指令
获取,解码,执行循环的伪代码是一样的。多字节操作数的数据也以
big-endian字节顺序编码
3.10 
获取-解码-执行循环也是相同的。多字节的操作数大端编码。

有多种方式,其中Java卡虚拟机的指令集
的Java虚拟机的发散。大部分的差异是由于
数据类型Java Card虚拟机,更重要的是提供有限的支持。
分歧的另一个来源是8位和16 - 
位体系结构上运行,而Java虚拟机被设计为一个32位的
架构,Java Card虚拟机的目的的差异的其余部分都在一个或另一种方式
对优化的尺寸或性能的Java卡虚拟机
或Java Card程序面向这些变化包括内联常量池
添加多个版本的一个特定的指令
来处理不同的数据类型,直接在指令的操作码或操作数的数据
对当前和创建复合指令的操作

3.10.1类型和Java Card虚拟机
3.10.1类型和JAVA卡虚拟机

Java Card虚拟机只支持一个子集的
Java虚拟机支持的类型第2章中描述的这个子集。反映
类型支持的指令集,指令编码的数据类型上,他们操作。
比Java虚拟
机,Java Card虚拟机的支持较少的类型,有一个机会,以更好地支持较小的数据类型。缺乏
大型数字数据类型支持的指令集腾出更多空间。这个额外的
指令空间已被用于直接支持上的
短的数据的算术运算

有些额外的指令空间也被用来优化共同
操作。类型信息是直接字段访问指令中编码的,而
不是在恒定的情况下得到一个条目

抱歉!评论已关闭.