摘要 | 第4-5页 |
Abstract | 第5-6页 |
第1章 绪论 | 第9-15页 |
1.1 研究背景与意义 | 第9页 |
1.2 国内外研究现状 | 第9-11页 |
1.3 研究目的 | 第11页 |
1.4 研究内容 | 第11-12页 |
1.5 本文的整体布局 | 第12-15页 |
第2章 基于线程安全软件重构的工作综述 | 第15-23页 |
2.1 Java多线程的线程安全 | 第15-16页 |
2.1.1 哈希表中的线程安全 | 第15-16页 |
2.2 Java多线程的同步机制 | 第16-18页 |
2.2.1 多线程同步锁 | 第17页 |
2.2.2 多线程同步原子块及ABA问题的解决和研究 | 第17-18页 |
2.3 软件重构方法 | 第18-21页 |
2.3.1 软件重构国内外背景 | 第18页 |
2.3.2 基于多线程的软件重构的现实意义 | 第18-19页 |
2.3.3 软件重构方法研究 | 第19-21页 |
2.3.4 软件并行化重构 | 第21页 |
2.4 本章小结 | 第21-23页 |
第3章 并行环境下Java哈希机制的对比及重构研究 | 第23-33页 |
3.1 问题的提出 | 第23页 |
3.2 性能比较框架 | 第23-25页 |
3.2.1 Hashtable和ConcurrentHashMap的对比 | 第24页 |
3.2.2 基于JAVA哈希表的并行流的程序设计 | 第24-25页 |
3.3 实验 | 第25-31页 |
3.3.1 Hashtable与ConcurrentHashMap多线程读写性能对比 | 第26-28页 |
3.3.2 面向哈希表的重构 | 第28-30页 |
3.3.3 基于哈希表的并行流性能对比 | 第30-31页 |
3.4 本章小结 | 第31-33页 |
第4章 面向Java中多线程同步机制的研究 | 第33-41页 |
4.1 Java中的多线程同步机制 | 第33-35页 |
4.1.1 锁同步机制 | 第33-34页 |
4.1.2 原子块同步机制 | 第34-35页 |
4.2 编程模式对比 | 第35-37页 |
4.3 锁与原子块的性能对比 | 第37-39页 |
4.4 本章小结 | 第39-41页 |
第5章 基于抽象语法树机制的软件重构方法 | 第41-49页 |
5.1 软件重构方法概述 | 第41-42页 |
5.2 抽象语法树 | 第42-47页 |
5.2.1 抽象语法树机制概述 | 第42-46页 |
5.2.2 基于抽象语法树机制的重构逻辑的设定 | 第46-47页 |
5.3 本章小结 | 第47-49页 |
第6章 重构工具的设计与实现 | 第49-57页 |
6.1 开发平台与工具 | 第49-53页 |
6.1.1 Eclipse LTK重构框架 | 第49-50页 |
6.1.2 Eclipse插件 | 第50页 |
6.1.3 ASTView工具 | 第50-53页 |
6.2 重构工具的实现 | 第53-55页 |
6.2.1 AST的创建 | 第53页 |
6.2.2 AST的遍历 | 第53-54页 |
6.2.3 生成JDT代码 | 第54-55页 |
6.3 重构工具界面的设计 | 第55-56页 |
6.3.1 测试环境 | 第55页 |
6.3.2 重构界面设计 | 第55-56页 |
6.5 本章小结 | 第56-57页 |
总结 | 第57-59页 |
参考文献 | 第59-63页 |
攻读硕士学位期间所发表的论文 | 第63-64页 |
致谢 | 第64页 |