写点什么

覆盖 80% 以上 Java 性能调优场景,三年开发经验以下慎入

发布于: 46 分钟前
覆盖80%以上Java性能调优场景,三年开发经验以下慎入

每个公司都要求程序员写出性能良好、维护性强的代码,各种高端职位的任职要求也会把优化作为必选要求之一。当业务重构时,以及各种互联网大促前,也都期望的性能能变得更好。如何提高性能?简单的办法是升级硬件,或者购置更多的机器水平扩展,从而减少单机负荷以实现性能提高。

这些办法简单粗暴,虽然效果立竿见影,但长期来看,投入大,产出小。随着中越来越多“坏味道”代码的堆积,这些办法的效果越来越不明显,提高单机的性能迫在眉睫,那么有没有优化 Java 自身的办法呢?

市场上关于这方面的书籍或者聚焦于简单的开发规范,或者是纯理论的讲解。本文尝试把 Java 性能优化和实际业务结合起来一起讲解,期望为读者提供一种可操作的指导来优化 Java 性能。

不管技术如何发展,Java 依然是一个充满活力的生态圈,学习 Java 的人也越来越多,但多数人学习 Java 虚拟机(JVM)时都会遇到瓶颈。本文旨在帮助 Java 人突破性能优化瓶颈。



点击并拖拽以移动


本书的主要特色有:

  • 专注于 Java 应用程序的优化方法、技巧和思想,并深度剖析 JDK 部分的实现。

  • 具有较强的层次性和连贯性,深入剖析软件设计层面、代码层面和 JVM 虚拟机层面的优化方法。

  • 理论结合实践,使用丰富的示例帮助读者理解理论知识。

目录:



点击并拖拽以移动



点击并拖拽以移动



点击并拖拽以移动



点击并拖拽以移动


需要获取这份手册的小伙伴可以一键三连之后 点击此处 凭截图免费获取

本书内容

本书主要介绍 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 语言基础而想进一步提高开发水平的程序员。

就给大家展示到这里需要获取的小伙伴可以一键三连之后 点击此处 凭截图免费获取

用户头像

还未添加个人签名 2020.09.07 加入

还未添加个人简介

评论

发布
暂无评论
覆盖80%以上Java性能调优场景,三年开发经验以下慎入