每个公司都要求程序员写出性能良好、维护性强的代码,各种高端职位的任职要求也会把优化作为必选要求之一。当业务重构时,以及各种互联网大促前,也都期望的性能能变得更好。如何提高性能?简单的办法是升级硬件,或者购置更多的机器水平扩展,从而减少单机负荷以实现性能提高。
这些办法简单粗暴,虽然效果立竿见影,但长期来看,投入大,产出小。随着中越来越多“坏味道”代码的堆积,这些办法的效果越来越不明显,提高单机的性能迫在眉睫,那么有没有优化 Java 自身的办法呢?
市场上关于这方面的书籍或者聚焦于简单的开发规范,或者是纯理论的讲解。本文尝试把 Java 性能优化和实际业务结合起来一起讲解,期望为读者提供一种可操作的指导来优化 Java 性能。
不管技术如何发展,Java 依然是一个充满活力的生态圈,学习 Java 的人也越来越多,但多数人学习 Java 虚拟机(JVM)时都会遇到瓶颈。本文旨在帮助 Java 人突破性能优化瓶颈。
本书的主要特色有:
-
专注于 Java 应用程序的优化方法、技巧和思想,并深度剖析 JDK 部分的实现。
-
具有较强的层次性和连贯性,深入剖析软件设计层面、代码层面和 JVM 虚拟机层面的优化方法。
-
理论结合实践,使用丰富的示例帮助读者理解理论知识。
目录:
需要获取这份手册的小伙伴可以一键三连之后评论一手 【点击此处下载原件PDF】 免费获取
本书内容
本书主要介绍 Java 应用程序的优化方法和技巧,共分为 6 章。
第 1 章
介绍性能的基本概念、两个重要理论(木桶原理和 Amdahl 定律),以及系统调优的一般步骤与注意事项。
1.1 性能概述
1.2 性能调优的层次
第 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 语言基础而想进一步提高开发水平的程序员。
就给大家展示到这里需要获取的小伙伴可以一键三连之后评论一手 【点击此处下载原件PDF】 免费获取