本书中文繁体字版由台湾学贯行销股份有限公司出版。本书中文简体字版经台湾学贯行销股份有限公司授权由中国铁道出版社出版。任何单位或个人未经出版者书面允许不得以任何手段复制或抄袭本书内容。\r\n 本书贴有学贯行销激光防伪标签,无标签者不得销售。版权所有,侵权必究。\r\n
第1章 Java与KVM的关系\r\n\r\n1-1 Java的概念\r\n1-2 Java平台结构\r\n1-3 Java的特色\r\n1-4 Java的世界\r\n1-5 企业版J2EE\r\n1-6 标准版J2SE\r\n1-7 微型版J2ME\r\n1-7-1 J2ME的架构\r\n1-7-2 J2ME的特性\r\n1-7-3 目前的J2ME环境\r\n1-8 K Virtual Machine\r\n1-8-1 为什么要用 KVM\r\n1-8-2 KVM移植技术\r\n1-9 Java Card\r\n1-10 小结\r\n\r\n第2章 Java类文件格式\r\n\r\n2-1 maglc number\r\n2-2 minor_version, major_version\r\n2-3 constant_pool_count,constant_pool[]\r\n2-3-1 CONSTANt_Class\r\n2-3-2 CONSTANT_Fieldref\r\n2-3-3 CONSTAN_Methodref\r\n2-3-4 CONSTANT_InterfaceMethodref\r\n2-3-5 CONSTANT_String\r\n2-3-6 CONSTANT_Integer\r\n2-3-7 CONSTANT_Float\r\n2-3-8 CONSTANT_Long\r\n2-3-9 CONSTANT_Double\r\n2-3-10 CONSTANT_NameAndType\r\n2-3-11 CONSTANT_Utf8\r\n2-4 access_flags\r\n2-5 this_class\r\n2-6 super_class\r\n2-7 interfaces_count,iuterfaces[]\r\n2-8 fields_count,fields[]\r\n2-9 methods_count,methods[]\r\n2-10 attributes_count,attributes[]\r\n2-10-1 SourceFile attribute\r\n2-10-2 ConstantValue attrimbute\r\n2-10-3 Code attribute\r\n2-10-4 Exceptions attribute\r\n2-10-5 InnerClasses attribute\r\n2-10-6 Synthetic attribute\r\n2-10-7 LineNumberTable attribute\r\n2-10-8 LocalVariableTable attribute\r\n2-10-9 Deprecated attribute\r\n2-11 HelloWorld_simple.class\r\n2-12 小结\r\n\r\n第3章 KVM执行时所用的class与instance结构\r\n\r\n3-1 执何时期的instance结构\r\n3-2 执行时期的class结构\r\n3-3 执行时,class与 class之间的关系\r\n3-4 加载Java类的过程\r\n3-4-1 loadClassfilelnternal()\r\n3-4-2 loadClassfileHelper()\r\n3-5 小结\r\n\r\n第4章 KVM执行时所用的数据结构\r\n\r\n4-1 The pc Register\r\n4-2 Java heap\r\n4-2-1 allocateHeap()\r\n4-2-2 InitializeHeap()\r\n4-2-3 callocPermanentObject()\r\n4-3 Java eXecution StaCk\r\n4-4 Runtime COnstant Pool\r\n4-5 Frames\r\n4-5-1 Local variable array\r\n4-5-2 Operand stacks\r\n4-5-3 Dynamic linking\r\n4-5-4 Method 正常结束执行的情况\r\n4-5-5 Method不正常结束执行的情况\r\n4-6 小结\r\n\r\n第5章 KVM内部的Interpreter\r\n\r\n5-1 KVM运行时间取代byte code的机制\r\n5-2 Split infrequent byte codes\r\n5-3 在KVM内与interpreter相关的文件\r\n5-3-1 bytecodes.c\r\n5-3-2 execute.c\r\n5-4 更进一步加快interpreter的速度:使用汇编语言\r\n5-5 小结\r\n\r\n第6章 Methods invokation\r\n\r\n6-1 从Java类文件中加载method属性到内存中\r\n6-1-1 loadOneMethod()\r\n6-1-2 getUTF8string(PO1NTERLIST_HANDLE,unsigned short)\r\n6-1-3 verifyMethodFlags()\r\n6-1-4 verfyName(const char*, enum verifyName_type,bool_t)\r\n6-1-5 skipOverFieldType(const char*,bool_t,unsigned short)\r\n6-1-6 skipOverFieldName(const char*,bool_t,unsigned short)\r\n6-1-7 change_Name_to_Key()\r\n6-1-8 verifyMethodTyPe()\r\n6-1-9 loadMethodAttributes()\r\n6-1-10 loadCodeAttribute()\r\n6-l-11 loadExceptionHandlers()\r\n6-2 调用Method\r\n6-2-l pushFrame()\r\n6-3 小结\r\n\r\n第7章 Exceptions\r\n\r\n7-1 何时会抛出exceptions\r\n7-2 KVM如何抛出except1ons\r\n7-2-1 raiseException()\r\n7-2-2 raiseExceptlonMsg()\r\n7-2-3 fatalVMError()\r\n7-2-4 fatalError()\r\n7-2-5 throwExceptlon()\r\n7-3 处理一个 exception\r\n7-3-1 findHandler()\r\n7-4 小结\r\n\r\n第8章 Garbage Collection\r\n\r\n8-1 Tracing garbage collection\r\n8-2 CoPying garbage collection\r\n8-3 KVM1.0版所使用的garbage collection机制\r\n8-4 目前的KVM版本所使用的garbageg COllection机制\r\n8-4-1 Object header\r\n8-4-2 Free list以及 available memory chunk\r\n8-4-3 Compacting\r\n8-4-4 KVM内的garbage collector函数\r\n8-4-5 Temporary root\r\n8-4-6 Global root\r\n8-5 小结\r\n\r\n第9章 编写KVM的native methods\r\n\r\n9-1 一个简单的范例\r\n9-1-1 Java端的处理\r\n9-1-2 C程序瑞需要作的处理\r\n9-2 在KVM内,对native code的编写有帮助的functions\r\n9-3 Java code与native code之间传递参数的方法\r\n9-3-1 导入primitive data type类型的参数或返回值\r\n9-3-2 导人instance或array类型的参数或返回值\r\n9-3-3 导入instance类型的参数或返回值\r\n9-3-4 导入array类型的参数或返回值\r\n9-4 抓取Java class内某个var1able的方法\r\n9-4-l 在instance method中抓取instance variable的方法\r\n9-4-2 在instance method中抓取static variable的方法\r\n9-4-3 在static method中抓取static variable的方法\r\n9-5 在native code中如何抛出exception\r\n9-5-l 三种主要的native functions用来抛出exceptions\r\n9-5-2 其他能抛出exceptions的native functions\r\n9-5-3 KVM内部已经定义好的exception class字符串\r\n9-6 Synchronized block的改写\r\n9-6-1 Java的synchronization\r\n9-6-2 Monitor的notify队列与等候队列\r\n9-6-3 在native code中如何完成Java的synchronized关键字\r\n9-6-4 KVM提供了如下的函数可供我们来使用\r\n9-6-5 在native code中如何完成Java中的notify()函数\r\n9-7 Garbage collection\r\n9-7-1 handle\r\n9-7-2 Temporary root\r\n9-7-3 Global rOOt\r\n9-8 小结\r\n\r\n第10章 The Technology Compatibilitv Kit(TCK)\r\n\r\n10-1 JavaTest简介\r\n10-2 利用JavaTest来进行验证工作的架构\r\n10-3 配合JavaTest来执行Java程序之前的准备操作\r\n10-4 告诉JavaTest你的每一个测试用Java程序的详细信息\r\n10-5 执行JavaTest\r\n10-6 小结\r\n
无封面