Java是面向对象编程语言,具有功能强大、简单易用两大特征。很多人表示Java运行速度慢,有严重的性能问题,其实这与Java无关,而是涉及到Java应用的性能优化
性能优化是一个很复杂的工作,且充满了不确定性。它不像Java业务代码,可以一次编写到处运行(write once, run anywhere),往往一些我们可能并不能察觉的变化,就会带来惊喜/惊吓。能够全面的了解并评估我们所负责应用的性能,我认为是提升技术确定性和技术感知能力的非常有效的手段。
为了帮助小伙伴们更好的应对面试和工作中遇到的性能优化问题,给大家带来了这份GitHub上667页的Java性能优化笔记,下面将这份笔记的内容展示给大家:
本书的主要特色有:
- 专注于Java应用程序的优化方法、技巧和思想,并深度剖析JDK部分的实现。
- 具有较强的层次性和连贯性,深入剖析软件设计层面、代码层面和JVM虚拟机层面的优化方法。
- 理论结合实践,使用丰富的示例帮助读者理解理论知识。
本书主要介绍Java应用程序的优化方法和技巧,共分为6章。
第1章Java性能调优概述
介绍性能的基本概念、两个重要理论(木桶原理和Amdahl定律),以及系统调优的一般步骤与注意事项。
1.1性能概述
1.2性能调优的层次
1.3基本调优策略和手段
第2章设计优化
从设计层面介绍与性能相关的设计模式、组件及有助于改善性能的软件设计思想。
2.1善用设计模式
2.2常用的优化组件和方法
第3章Java程序优化
从代码层面介绍如何编写高性能的Java代码,涉及的主要内容有字符串的优化处理、文件I/O的优化、核心数据结构的使用、Java的引用类型及一些常用的惯例。
3.1字符串优化处理
3.2核心数据结构
3.3使用NIO提升性能
3.4 引用类型
3.5 性能测试工具JMH
3.6有助于改善性能的技巧
第4章并行程序开发及优化
介绍并行程序开发的相关知识,以及如何通过多线程提高系统性能,涉及的主要内容有并发设计模式、多任务执行框架、并发数据结构的使用、并发控制方法、“锁”的优化、无锁的并行计算及协程。
4.1并行程序设计模式
4.2JDK多任务执行框架
4.3JDK并发数据结构
4.4 并发控制方法
4.5锁的性能和优化
4.6无锁的并行计算
4.7协程
第5章JVM调优
立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。
5.1 Java虚拟机内存模型
5.2 JVM内存分配参数
5.3 垃圾收集基础
5.4常用调优案例和方法
5.5实用JVM参数
5.6JVM调优实战
第6章Java性能调优工具
主要介绍获取和监控程序或系统性能指标的各种工具,以及Java应用程序相关的故障排查工具。
6.1 Linux命令行工具
6.2 windows工具
6.3 JDK命令行工具
6.4 JEonsole工具
6.5 visualM多合一工具
6.6 Visual VM寸0QI的支持
6.7 MAT内存分析工具
6. 8MAT对0QI的支持
6.9来自JRockit的礼物——JMC
限于文章篇幅原因,就展示到这里了,文中资料已整理打包存放网盘,有需要的朋友可以点击下方的名片自取!