摘要 | 第1-9页 |
ABSTRACT | 第9-10页 |
致谢 | 第10-11页 |
第一章 综述 | 第11-24页 |
1.1 嵌入式软件概述 | 第11-12页 |
1.2 软件性能概述 | 第12-15页 |
1.2.1 软件性能的概念 | 第12-13页 |
1.2.2 软件性能的重要性 | 第13页 |
1.2.3 导致性能问题的原因和一般解决办法 | 第13-14页 |
1.2.4 软件性能优化的基本法则 | 第14-15页 |
1.3 软件系统执行模型 | 第15-16页 |
1.3.1 目的 | 第15页 |
1.3.2 系统执行模型的表达 | 第15-16页 |
1.3.3 模型解决方案 | 第16页 |
1.4 软件测量和探测 | 第16-18页 |
1.4.1 软件测量概述 | 第16-17页 |
1.4.2 测量的目的 | 第17页 |
1.4.3 测量的数据 | 第17-18页 |
1.5 Java技术简介 | 第18-21页 |
1.5.1 Java语言 | 第18页 |
1.5.2 Java平台 | 第18-19页 |
1.5.3 Java虚拟机 | 第19-20页 |
1.5.4 Java语言特性 | 第20-21页 |
1.6 Java技术在嵌入式系统中的应用 | 第21-22页 |
1.7 论文的立题依据与研究内容 | 第22-24页 |
第二章 JAVA软件性能问题及其解决方案 | 第24-36页 |
2.1 面向性能的设计原则 | 第24-28页 |
2.1.1 性能控制原则 | 第24-25页 |
2.1.2 独立原则 | 第25-26页 |
2.1.3 协作原则 | 第26-27页 |
2.1.4 使用原则 | 第27-28页 |
2.2 性能模式 | 第28-36页 |
2.2.1 快速通道 | 第28-29页 |
2.2.2 重要的任务优先 | 第29-30页 |
2.2.3 耦合模式 | 第30-31页 |
2.2.4 批处理模式 | 第31-32页 |
2.2.5 路由分配模式 | 第32-33页 |
2.2.6 弹性时间模式 | 第33页 |
2.2.7 对象分配与共享模式 | 第33-36页 |
第三章 JAVA性能分析工具和技术: | 第36-45页 |
3.1 JVMPI技术 | 第36页 |
3.2 基于JVMPI的工具软件: | 第36-42页 |
3.2.1 JProbe Suite | 第36-39页 |
3.2.2 Borland OptimizeIt Suite | 第39-40页 |
3.2.3 Mike's Java Profiler | 第40-41页 |
3.2.4 Extensible Java Profiler(EJP) | 第41-42页 |
3.3 本课题自主开发的Java性能分析工具总体方案 | 第42-45页 |
3.3.1 实现方案 | 第42页 |
3.3.2 总体框架设计 | 第42-45页 |
第四章 JAVA性能分析工具JVM端程序设计 | 第45-59页 |
4.1 JVM端信息的获取 | 第45-52页 |
4.1.1 类的信息 | 第46-47页 |
4.1.2 方法的信息 | 第47-48页 |
4.1.3 线程的信息 | 第48页 |
4.1.4 监视器信息 | 第48-49页 |
4.1.5 GC的信息 | 第49-50页 |
4.1.6 调用路径信息 | 第50-51页 |
4.1.7 站点信息 | 第51页 |
4.1.8 实时信息 | 第51-52页 |
4.2 JVM端动态库总体结构设计 | 第52-53页 |
4.2.1 关于启动 | 第52页 |
4.2.2 分析代理设计 | 第52-53页 |
4.3 网络通信模块 | 第53-56页 |
4.3.1 数据包的结构 | 第54-55页 |
4.3.2 数据包的发送 | 第55页 |
4.3.3 请求数据的处理 | 第55-56页 |
4.3.4 网络连接的启动和终止 | 第56页 |
4.4 数据存储模块 | 第56-59页 |
第五章 JAVA性能分析器前端程序设计 | 第59-72页 |
5.1 分析器前端总体结构设计 | 第59-60页 |
5.2 网络通信模块设计 | 第60-61页 |
5.3 控制器模块设计 | 第61-62页 |
5.4 数据存储模块设计 | 第62-63页 |
5.5 分析模块设计 | 第63-67页 |
5.5.1 线程死锁分析 | 第63-65页 |
5.5.2 调用路径和频率的分析 | 第65-66页 |
5.5.3 空间代价分析 | 第66页 |
5.5.4 数据过滤 | 第66-67页 |
5.6 数据持久化模块设计 | 第67页 |
5.7 软件的启动及界面功能介绍 | 第67-72页 |
5.7.1 实时内存监视 | 第68-69页 |
5.7.2 方法代价的分析 | 第69-70页 |
5.7.3 类,对象分析。 | 第70-71页 |
5.7.4 线程与死锁分析 | 第71-72页 |
第六章 JAVA性能分析工具应用 | 第72-78页 |
6.1 内存泄露分析实例 | 第72-78页 |
6.1.1 问题的描述 | 第73页 |
6.1.2 问题解决的过程 | 第73-76页 |
6.1.3 内存泄露原因解释 | 第76-77页 |
6.1.4 问题解决方案 | 第77-78页 |
第七章 总结和展望 | 第78-81页 |
7.1 未来的技术和工具的发展方向 | 第78-80页 |
7.1.1 JFluid技术与NetBeans Profiler | 第78-79页 |
7.1.2 JVMTI | 第79-80页 |
7.2 论文总结 | 第80-81页 |
参考文献 | 第81-83页 |
附录 | 第83页 |