《实时Java平台编程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)Peter C.Dibble著;滕启明等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:711111583X
  • 页数:260 页
图书介绍:

第1章 概貌 1

1.1 Java技术和实时 1

1.1.1 实时编程需求 2

1.1.2 Java和嵌入式实时 3

1.2 实时的定义 3

1.2.1 测量的精度 4

1.2.2 一致性 5

1.2.3 效用函数曲线图 5

1.3 Java的问题 7

1.4 实时Java的问题 8

1.5 总结 9

第2章 Java虚拟机的体系结构 11

2.1 对“一经编写、随处运行”的理解 11

2.2 JVM组件 12

2.2.1 类加载 12

2.2.2 字节码解释器 13

2.2.3 安全管理器 17

2.2.4 垃圾收集器 19

2.2.5 线程管理 22

2.2.6 输入/输出 23

2.2.7 图形 23

2.3 解释器实现 25

2.3.1 标准解释器 25

2.3.2 优化的解释器 25

2.3.3 JIT 26

2.3.4 代码片段 27

2.3.5 编译成独立的进程 28

2.3.6 本机方法 28

2.3.7 编译成本机方法 28

2.3.8 编译成JIT接口 29

第3章 硬件体系结构 31

3.1 单条指令执行的最坏情形 32

3.1.1 最坏情形的场景 32

3.1.2 实用的度量标准 35

3.2 易错硬件的管理 35

3.2.1 管理请求换页 35

3.2.2 管理DMA 36

3.2.3 管理高速缓存 36

3.2.4 管理地址转换高速缓存 36

3.2.5 管理中断 36

3.3 对JVM的影响 37

第4章 垃圾收集 39

4.1 引用计数 39

4.2 基本的垃圾收集 40

4.2.1 标记清除 41

4.2.2 碎片整理 43

4.3 复制式收集器 43

4.4 递增式收集 45

4.5 再生式垃圾收集 48

4.5.1 代间引用 48

4.5.2 大对象存储 49

4.6 实时问题 49

第5章 优先级调度 51

5.1 调度术语 51

5.2 执行序列 52

5.3 抢占 52

5.4 固定优先级与动态优先级 54

5.5 优先级逆转 54

5.6 为什么要32个优先级 57

5.7 与优先级调度有关的问题 58

第6章 利用期限进行调度 61

6.1 底层机制 61

6.2 调度器的作用范围 62

6.3 一些系统实例 63

6.3.1 最早期限优先 63

6.3.2 最小松弛 64

6.3.3 周期调度 65

6.3.4 非周期性服务器 65

6.3.5 处理超负荷的情况 68

6.4 时间性通常是随机的 70

第7章 速率单调分析 71

7.1 原理 71

7.1.1 Liu and Layland原理 71

7.1.2 图形化方法 73

7.1.3 Lehoczky、Sha及Ding原理 74

7.2 限制 76

7.2.1 独立的任务 76

7.2.2 期限与周期相同 77

7.2.3 多处理器系统 78

第8章 实时Java平台介绍 79

8.1 实时Java简史 79

8.2 规范的主要特征 81

8.2.1 线程和调度 82

8.2.2 垃圾收集 83

8.2.3 异步事件处理器 83

8.2.4 异步控制传递 84

8.2.5 内存分配 84

8.2.6 内存访问 85

8.3 实现 86

8.4 RTSJ版的Hello World 86

第9章 闭包 89

9.1 语言结构 89

9.2 Java闭包 89

9.2.1 闭包结构 90

9.2.2 RTSJ中的闭包 91

9.3 闭包的局限性 91

9.3.1 可读性 92

9.3.2 局部变量 92

9.3.3 构造器 92

9.3.4 嵌套 92

第10章 高解析度时间 95

10.1 解析度 95

10.2 “时钟” 95

10.3 HighResolutionTime基类 96

10.4 绝对时间 97

10.5 相对时间 98

10.6 有理时间 98

第11章 异步事件 101

11.1 将事体绑定到事件 101

11.2 基本的异步事件操作 102

11.3 没有事体的异步事件 104

11.3.1 时间触发 104

11.3.2 故障触发 109

11.3.3 软件事件触发 110

11.4 关于实现的讨论 110

第12章 实时线程 113

12.1 创建 113

12.2 调度 117

12.2.1 逆转处理 118

12.2.2 固定优先级 119

12.2.3 可行性 120

12.3 无处理器的周期性线程 121

12.4 有处理器的周期性线程 127

12.5 与正常线程的交互 135

12.6 更改调度器 136

第13章 无堆内存 145

13.1 无堆内存的优点 145

13.2 分配制度 146

13.3 规则 147

13.4 不朽内存中的分配机制 147

13.5 领域内存中的分配机制 150

13.5.1 分配时间 150

13.5.2 创建领域内存 152

13.5.3 分配机制 154

13.5.4 终结器 156

13.6 使用嵌套的领域内存 157

13.6.1 领域堆栈(树) 157

13.6.2 DAG 158

13.6.3 嵌套领域的实际应用 159

13.6.4 每个嵌套领域都包含两个内存区域 161

13.6.5 缺陷 163

13.6.6 使用executeInArea 164

13.6.7 使用标准类 165

13.7 使用共享的领域内存 168

13.7.1 领域堆栈被再次访问 168

13.7.2 领域端埠 172

13.8 难懂的条文 178

13.9 例子 178

第14章 无堆访问 183

14.1 与调度器之间的交互 183

14.2 规则 185

14.3 范例 186

14.4 最终评述 189

第15章 其他异步事件 191

15.1 异步事件和调度器 191

15.2 createReleaseParameters方法 192

15.3 被绑定的异步事件处理器 192

15.4 异步事件处理器与无堆内存 193

15.5 无堆事件处理器与无堆线程 193

15.6 调度 193

15.7 异步事件处理器和线程 194

15.8 特殊的异步事件 195

第16章 复用不朽内存 197

16.1 使用固定对象分配器 197

16.1.1 载体对象 197

16.1.2 限制 199

16.2 回收RT线程 199

16.3 回收异步事件处理器 204

第17章 控制的异步传输 209

17.1 上下文环境中的线程中断 210

17.2 异步中断激发 212

17.2.1 Timed类 212

17.2.2 interrupt方法 214

17.2.3 fire方法 214

17.2.4 小结 216

17.2.5 置换规则 217

17.3 异步异常的传播规则 217

17.3.1 不自觉的捕捉 217

17.3.2 不匹配的doInterruptible 218

17.3.3 匹配的doInterruptible 219

17.3.4 内幕 219

17.3.5 应用程序对异步中断的处理 222

17.4 不可中断的代码 226

17.5 旧式代码 229

17.6 使用ATC来终止线程 229

第18章 物理内存 231

18.1 物理内存和虚拟内存 232

18.2 物理内存管理器 232

18.2.1 内存类型 233

18.2.2 可移动的内存 234

18.3 不朽物理内存 235

18.4 领域物理内存 235

第19章 原始内存访问 237

19.1 安全性 238

19.2 读写 238

19.3 Get/Set方法 239

19.4 映射 242

19.5 RawMemoryFloatAccess类 243

第20章 无锁同步 245

20.1 免等待队列的原理 246

20.1.1 构造器 247

20.1.2 通用的方法 247

20.2 免等待写队列 248

20.2.1 方法 248

20.2.2 共享免等待写队列 249

20.3 免等待读队列 250

20.3.1 附加的构造器 250

20.3.2 方法 251

20.4 免等待双端队列 251

20.5 免等待队列与内存 252

20.6 实现注意事项 253

第21章 建议实践 255

21.1 RTSJ中功能强大并且容易使用的功能特性 255

21.1.1 实时线程 255

21.1.2 周期性线程 255

21.1.3 异步事件处理器 256

21.1.4 高解析度时间 256

21.1.5 事体 256

21.2 RTSJ中功能很强但有危险性的功能特性 256

21.2.1 简单 257

21.2.2 易泄漏 257

21.2.3 不干净 257

21.3 RTSJ中功能很强但须加倍小心的功能特性 258

21.3.1 领域内存 258

21.3.2 无堆异步事件处理器 258

21.3.3 无堆实时线程 258

21.3.4 异步中断式异常 258

21.4 优先级的选择 258