欢迎访问学兔兔,学习、交流 分享 !

返回首页 |
当前位置: 首页 > 书籍手册>计算机与网络 >深入嵌入式Java虚拟机 探矽工作室著 2003年版

深入嵌入式Java虚拟机 探矽工作室著 2003年版

收藏
  • 大小:61.73 MB
  • 语言:中文版
  • 格式: PDF文档
  • 类别:计算机与网络
  • 更新日期:2024-04-25
推荐:升级会员 无限下载,节约时间成本!
关键词:深入   嵌入式   虚拟机   Java
资源简介
深入嵌入式Java虚拟机
作者: 探矽工作室著
出版时间: 2003年版
丛编项: 中国铁道出版社
内容简介
  近几年来,由于移动终端设备的蓬勃发展,各式各样的硬件设备、软件平台都被开发出来加入这场对世纪的移动通讯大战。在硬件设备上有Intel公司的StrongARM系列,Motorola公司的Dingonball系列等;软件平台有著名的Unux操作系统,Microsoft的pocketPC,AcceleratedTechnology公司的NucleusPLUS等。一个程序设计员如果想要写出能够横跨这么多平台的应用程序来,是一件不容易的事。因此,本身具有跨平台特性的Java程序语言就成为目前在手机、PDA等嵌入式系统中越来越受欢迎的热门软件平台了。在本书中,作者以嵌入式平台上最常见、最合适的Java虚拟机——KVM为核心,讲述Java虚拟机的内部实际架构,深入探讨实际程序代码的编写原理,并以丰富的图形来向各位读者阐述Java虚拟机的奥妙与秘密。作者还融汇了过去在实际工作中的调试经验和测试结果,向读者解开调整KVM效率的秘密,希望读者凭借本书来一窥嵌入式Java虚拟机的奥秘。本书由学贯行销股份有限公司提供版权,经中国铁道出版社计算机图书中心审选,彭林、贾英茂、游广志、刘宇、朱远波、张新东、张琦等同志完成了本书的整稿工作,陈兰芳、崔仙翠、程瑞芬等同志完成了本书的编排工作。书中难免有疏漏之处,诚请各位专家和读者批评指正,我们也会在适当时间进行修订和补充,并发布在天勤网站:http://www.tqbooks.net“图书修订”栏目中。中国铁道出版社2003年4月
目录
第1章 Java与KVM的关系
1-1 Java的概念
1-2 Java平台结构
1-3 Java的特色
1-4 Java的世界
1-5 企业版J2EE
1-6 标准版J2SE
1-7 微型版J2ME
1-7-1 J2ME的架构
1-7-2 J2ME的特性
1-7-3 目前的J2ME环境
1-8 K Virtual Machine
1-8-1 为什么要用 KVM
1-8-2 KVM移植技术
1-9 Java Card
1-10 小结
第2章 Java类文件格式
2-1 maglc number
2-2 minor_version, major_version
2-3 constant_pool_count,constant_pool[]
2-3-1 CONSTANt_Class
2-3-2 CONSTANT_Fieldref
2-3-3 CONSTAN_Methodref
2-3-4 CONSTANT_InterfaceMethodref
2-3-5 CONSTANT_String
2-3-6 CONSTANT_Integer
2-3-7 CONSTANT_Float
2-3-8 CONSTANT_Long
2-3-9 CONSTANT_Double
2-3-10 CONSTANT_NameAndType
2-3-11 CONSTANT_Utf8
2-4 access_flags
2-5 this_class
2-6 super_class
2-7 interfaces_count,iuterfaces[]
2-8 fields_count,fields[]
2-9 methods_count,methods[]
2-10 attributes_count,attributes[]
2-10-1 SourceFile attribute
2-10-2 ConstantValue attrimbute
2-10-3 Code attribute
2-10-4 Exceptions attribute
2-10-5 InnerClasses attribute
2-10-6 Synthetic attribute
2-10-7 LineNumberTable attribute
2-10-8 LocalVariableTable attribute
2-10-9 Deprecated attribute
2-11 HelloWorld_simple.class
2-12 小结
第3章 KVM执行时所用的class与instance结构
3-1 执何时期的instance结构
3-2 执行时期的class结构
3-3 执行时,class与 class之间的关系
3-4 加载Java类的过程
3-4-1 loadClassfilelnternal()
3-4-2 loadClassfileHelper()
3-5 小结
第4章 KVM执行时所用的数据结构
4-1 The pc Register
4-2 Java heap
4-2-1 allocateHeap()
4-2-2 InitializeHeap()
4-2-3 callocPermanentObject()
4-3 Java eXecution StaCk
4-4 Runtime COnstant Pool
4-5 Frames
4-5-1 Local variable array
4-5-2 Operand stacks
4-5-3 Dynamic linking
4-5-4 Method 正常结束执行的情况
4-5-5 Method不正常结束执行的情况
4-6 小结
第5章 KVM内部的Interpreter
5-1 KVM运行时间取代byte code的机制
5-2 Split infrequent byte codes
5-3 在KVM内与interpreter相关的文件
5-3-1 bytecodes.c
5-3-2 execute.c
5-4 更进一步加快interpreter的速度:使用汇编语言
5-5 小结
第6章 Methods invokation
6-1 从Java类文件中加载method属性到内存中
6-1-1 loadOneMethod()
6-1-2 getUTF8string(PO1NTERLIST_HANDLE,unsigned short)
6-1-3 verifyMethodFlags()
6-1-4 verfyName(const char*, enum verifyName_type,bool_t)
6-1-5 skipOverFieldType(const char*,bool_t,unsigned short)
6-1-6 skipOverFieldName(const char*,bool_t,unsigned short)
6-1-7 change_Name_to_Key()
6-1-8 verifyMethodTyPe()
6-1-9 loadMethodAttributes()
6-1-10 loadCodeAttribute()
6-l-11 loadExceptionHandlers()
6-2 调用Method
6-2-l pushFrame()
6-3 小结
第7章 Exceptions
7-1 何时会抛出exceptions
7-2 KVM如何抛出except1ons
7-2-1 raiseException()
7-2-2 raiseExceptlonMsg()
7-2-3 fatalVMError()
7-2-4 fatalError()
7-2-5 throwExceptlon()
7-3 处理一个 exception
7-3-1 findHandler()
7-4 小结
第8章 Garbage Collection
8-1 Tracing garbage collection
8-2 CoPying garbage collection
8-3 KVM1.0版所使用的garbage collection机制
8-4 目前的KVM版本所使用的garbageg COllection机制
8-4-1 Object header
8-4-2 Free list以及 available memory chunk
8-4-3 Compacting
8-4-4 KVM内的garbage collector函数
8-4-5 Temporary root
8-4-6 Global root
8-5 小结
第9章 编写KVM的native methods
9-1 一个简单的范例
9-1-1 Java端的处理
9-1-2 C程序瑞需要作的处理
9-2 在KVM内,对native code的编写有帮助的functions
9-3 Java code与native code之间传递参数的方法
9-3-1 导入primitive data type类型的参数或返回值
9-3-2 导人instance或array类型的参数或返回值
9-3-3 导入instance类型的参数或返回值
9-3-4 导入array类型的参数或返回值
9-4 抓取Java class内某个var1able的方法
9-4-l 在instance method中抓取instance variable的方法
9-4-2 在instance method中抓取static variable的方法
9-4-3 在static method中抓取static variable的方法
9-5 在native code中如何抛出exception
9-5-l 三种主要的native functions用来抛出exceptions
9-5-2 其他能抛出exceptions的native functions
9-5-3 KVM内部已经定义好的exception class字符串
9-6 Synchronized block的改写
9-6-1 Java的synchronization
9-6-2 Monitor的notify队列与等候队列
9-6-3 在native code中如何完成Java的synchronized关键字
9-6-4 KVM提供了如下的函数可供我们来使用
9-6-5 在native code中如何完成Java中的notify()函数
9-7 Garbage collection
9-7-1 handle
9-7-2 Temporary root
9-7-3 Global rOOt
9-8 小结
第10章 The Technology Compatibilitv Kit(TCK)
10-1 JavaTest简介
10-2 利用JavaTest来进行验证工作的架构
10-3 配合JavaTest来执行Java程序之前的准备操作
10-4 告诉JavaTest你的每一个测试用Java程序的详细信息
10-5 执行JavaTest
10-6 小结
下载地址