为什么程序总是那么慢?它现在到底在干什么?时间都花到哪里去了?也许,你经常会抱怨这些问题。如果是这样,那说明你的程序出了性能问题。和功能性问题相比,性能问题在有些情况下,可能并不算什么太大的问题,将就将就,也就过去了。但是,严重的性能问题会导致程序瘫痪、假死,直至崩溃。
通过这份腾讯优化大佬所写笔记你将会学习到设计优化、Java程序优化、并行程序开发及优化、JVM调优、Java性能调优工具。相信你吃透这份笔记的学习,你就能精通优化!
第1章Java性能调优概述
本章涉及的主要知识点有:
- 评价性能的主要指标
- 木桶原理的概念及其在性能优化中的应用
- Amdahl 定律的含义
- 性能调优的层次
- 系统优化的一般步骤和注意事项
第2章设计优化
本章涉及的主要知识点有:
- 单例模式的使用和实现
- 代理模式的实现和深入剖析
- 享元模式的应用
- 装饰者模式对性能组件的封装
- 观察者模式的使用
- 使用Value Object模式减少网络数据传输
- 使用业务代理模式添加远程调用缓存
- 缓冲和缓存的定义和使用
- 对象池的使用场景及其基本实现
- 构建负载均衡系统以及Terracotta框架的简单使用
- 时间换空间和空间换时间的基本思路
第3章Java程序优化
本章主要涉及到的知识点有:
- Java 语言中的字符串优化,如何更高效地使用字符串
- Vector、 ArrayList 等核心数据结构优化方法介绍
- 在Java语言电使用NIO提高I/0性能,摆脱最大堆束缚
- Java 中的引用类型和使用方法
- 一些有助于提高系统性能的技巧集锦
第4章并行程序开发及优化
本章涉及的主要知识点有:
- 常用的多线程设计模式,如Future模式、Master Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式
- JDK内置的多线程框架和各种线程池
- JDK内置的并发数据结构
- Java的并发控制方式,如内部锁、重入锁、读写锁、ThreadLocal 变量、信号量等
- 有关“锁”的一些优化方法
- 使用无锁的方式提升高并发程序的性能
- 使用轻量级的协程获得更高的并行度
需要免费领取这份腾讯大牛写的Java程序性能优化笔记的朋友GitHub免费获取链接:https://github.com/biws-byte/zhym
第5章JVM调优
本章主要涉及的内容有:
- JVM内存模型结构
- 与内存分配(尤其是堆分配)相关的JVM参数
- 垃圾回收器的种类以及使用方法
- 一些常用的JVM调优参数及其使用效果
- 一个JVM调优的实例介绍
第6章Java性能调优工具
本章主要涉及的知识点有:
- Linux平台下,获取性能指标的主要命令
- Windows 平台下,获取性能指标的工具
- JDK自带的获取Java程序堆信息、线程信息的相关工具
- MAT内存分析工具以及一些商业性能调优工具的介绍
- 用于分析堆快照的对象查询语言(OQL)
需要免费领取这份腾讯大牛写的Java程序性能优化笔记的朋友GitHub免费获取链接:https://github.com/biws-byte/zhym