前言
每个公司都要求程序员写出性能良好、维护性强的代码,各种高端职位的任职要求也会把优化作为必选要求之一。当业务重构时,以及各种互联网大促前,也都期望的性能能变得更好。如何提高性能?简单的办法是升级硬件,或者购置更多的机器水平扩展,从而减少单机负荷以实现性能提高。
这些办法简单粗暴,虽然效果立竿见影,但长期来看,投入大,产出小。随着中越来越多“坏味道”代码的堆积,这些办法的效果越来越不明显,提高单机的性能迫在眉睫,那么有没有优化Java自身的办法呢?
市场上关于这方面的书籍或者聚焦于简单的开发规范,或者是纯理论的讲解。本文尝试把Java性能优化和实际业务结合起来一起讲解,期望为读者提供一种可操作的指导来优化Java性能。
不管技术如何发展,Java依然是一个充满活力的生态圈,学习Java的人也越来越多,但多数人学习Java虚拟机(JVM)时都会遇到瓶颈。本文旨在帮助Java人突破性能优化瓶颈。
本书的主要特色有:
- 专注于Java应用程序的优化方法、技巧和思想,并深度剖析JDK部分的实现。
- 具有较强的层次性和连贯性,深入剖析软件设计层面、代码层面和JVM虚拟机层面的优化方法。
- 理论结合实践,使用丰富的示例帮助读者理解理论知识。
目录:
需要获取这份手册的小伙伴可以帮忙转发一下,关注后添加助理vx:yunduoa2019或扫描下图二维码,跟随助理指引自行获取
本书内容
本书主要介绍Java应用程序的优化方法和技巧,共分为6章。
第1章
介绍性能的基本概念、两个重要理论(木桶原理和Amdahl定律),以及系统调优的一般步骤与注意事项。
1.1性能概述
1.2性能调优的层次
1.3基本调优策略和手段
第2章
从设计层面介绍与性能相关的设计模式、组件及有助于改善性能的软件设计思想。
2.1善用设计模式
2.2常用的优化组件和方法
第3章
从代码层面介绍如何编写高性能的Java代码,涉及的主要内容有字符串的优化处理、文件I/O的优化、核心数据结构的使用、Java的引用类型及一些常用的惯例。
3.1字符串优化处理
3.2核心数据结构
3.3 使用NIO提升性能
3.4 引用类型
3.5 性能测试试工具JMH
3.6有助于改善性能的技巧
第4章
介绍并行程序开发的相关知识,以及如何通过多线程提高系统性能,涉及的主要内容有并发设计模式、多任务执行框架、并发数据结构的使用、并发控制方法、“锁”的优化、无锁的并行计算及协程。
4.1并行程序设计模式
4.2JDK多任务执行框架
4.3 JDK并发数据结构
4.4并发控制方法
4.5锁的性能和优化
4.6无锁的并行计算
4.7协程
第5章
立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。
5.1 Java虚拟机内存模型
5.2 JVM内存分配参数
5.3垃圾收集基础
5.4常用调优案例和方法
5.5实用JVM参数
5.6JVM调优实战
第6章
主要介绍获取和监控程序或系统性能指标的各种工具,以及Java应用程序相关的故障排查工具。
6.1 Linux命令行工具
6.2 indows工具
6.3 JDK命令行工具
6.4 JEConsole工具
6.5 visual VM多合一工具
6.6 visual VM寸0QI的支持
6.7MAT内存分析工具
6. 8MAT对0QI的支持
6.9来自JRockit的礼物——JMC
读者对象
想要通读本书并取得良好的学习效果,读者需要具备Java的基础知识。本书不是一本帮助Java初学者入门的书籍,而是一本介绍如何编写高质量Java程序的书籍,主要适合以下读者阅读:
- 拥有一定开发经验的Java开发人员;-Java软件设计师和架构师;
- 系统调优人员;
- 有一定Java语言基础而想进一步提高开发水平的程序员。
就给大家展示到这里需要获取的小伙伴可以帮忙转发一下,关注后添加助理vx:yunduoa2019或扫描下图二维码,跟随助理指引自行获取