- 1、本文档共138页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
42 java class中内建car interface
JavaCAR
程序设计技术
----让你的Java程序快起来
2013-8
前言
JavaCAR表面上看是解决Java语言如何操作CAR对象,实现与CAR的互操作的问题。本质上,它提出了一个新的Java兼容虚拟机,这个虚拟机有如下特点:
二进制(机器语言)实现Java类。传统意义上的Java类是用Java语言写的,当然现在也有许多运行在Java虚拟机上的其它语言,但那是向另外一个语言发展,而不是讲如何扩展Java,发展Java。JavaCAR中的类,可以是一个CAR的类,一个用C/C++编译器编出来的类,这会有效率、软件尺寸等方面的好处。
引入了正向异步、同步/异步回调等编程手段。JVM中,增加了一个(缺省是一个,可以是多个)并行的MsgLoopThread线程,处理异步事务,它的生命周期与虚拟机主线程一样(缺省),也可以程序控制。
Java对象内建C++对象。常用的、需要高效访问的对象成员(属性),可以放在这个C++对象中,这个C++对象存在当前进程的C++堆上,不被垃圾收集器(Garbage Collection)管理。这类似于Google JavaScript解析引擎V8中的隐含C++对象的技术[1][2]。
支持Java继承中的CAR对象的实例化继承。即,类A继承了CAR写的类B,则类A也自动得到类B实例中的CAR实例。继承中的虚/实方法引用规则遵循Java原则。
按Java类加载、缺载规则加载CAR构件。即CAR构件可以出现在JAR包中或其它CLASSPATH指定的地方。
这个新的Java虚拟机是基于Dalvik实现的,所以谈到具体的虚拟机时,有时用DalvikCAR表示。
把DalvikCAR替换掉Android中原来的虚拟机,将能够降低Android手机的CPU、内存等的需求,提高方案的适应能力。
目录
第1章 Java程序设计基本概念 1
1.1 类(Class)/对象(Object) 1
1.2 本地方法(Native) 2
1.2.3 重载(overloading) 5
1.2.4 覆盖(overriding) 5
1.3 Java 本地接口规范 6
1.3.1 JNI 的类型和数据结构 6
1.3.2 JNI 接口函数和指针 8
1.3.3 引用 Java 对象 8
1.3.4 访问 Java 对象 9
1.3.5 报告编程错误 11
1.3.6 Java 异常 11
1.3.7 接口函数表 12
1.4 Java 强引用、 软引用、 弱引用、虚引用 18
1.4.1 对象的强、软、弱和虚引用 18
1.4.2 对象可及性的判断 19
1.4.3 使用软引用构建敏感数据的缓存 19
1.5 字符编码 23
1.5.1 标准的UTF-8编码方式 23
1.5.2 Java虚拟机使用的非标准的UTF-8 编码方式 24
第2章 CAR程序设计基本概念 25
2.1 CAR基础 25
2.2 CAR文件结构 26
2.2 CAR内存布局 27
2.2.1基本概念 27
2.2.2 CAR对象与C++对象的比较 31
2.2.3 CAR接口 32
2.3 接口(Interface) 39
2.4 CAR类(class) 40
2.5 CAR实例(object) 40
2.6 CAR唯一实例(singleton) 40
2.7 CAR泛型编程介绍 41
2.7.1 泛类 41
2.7.2 泛型编程 42
第3章 JavaCAR程序设计基本概念 47
3.1 基本概念 47
3.1.1 接口和继承方式之比较的漫谈 47
3.1.2 复合对象(Compound Object) 48
3.2 类(Class)/对象(Object) 48
3.3 枚举(Enum) 51
3.4 常量(Const) 53
3.5 JavaCAR虚拟机介绍 54
第4章 JavaCAR语言规范 55
4.1 Java Class中内建CAR Class 55
4.2 Java Class中内建CAR Interface 57
4.3 方法重载(Method Annotation) 62
4.4 JavaCAR属性(Property) 64
4.4.1 动态Property 66
4.4.2 静态Property 68
4.5 回调(Callbacks) 69
4.5.1 自回调 69
4.5.2 他回调 69
4.5.3 实现原理 69
4.6 委托(Delegates) 71
4.6.1 自委托 71
4.6.2 他委托 72
4.7 函数调用时的Java数据类型与CAR数据类型 72
4.7.1 Java Enum作为参数 74
4.7.2 CAR Interface作为输入参数 75
4.7.3 CAR Inter
文档评论(0)