前言
Java性能优化,它存在的理由有很多。计算机面对海量数据或者任务时,无论如何你都会碰到性能压力,唯一的选择是你会把这个压力放在哪一层或者哪一个位置来应对,以及采取什么应对措施。程序凑合着上线是一回事,而在压力下能够优美地运行往往很不容易。
通常来说Java性能优化一般包含这五方面:
-
设计优化
-
代码优化
-
JVM优化
-
数据库优化
-
操作系统优化
可以说性能调优在很大程度上是一门艺术,解决的Java性能问题越多,技艺才会越精湛。我们不仅要关心JVM的持续演进,也要积极地去了解底层的硬件平台和操作系统的进步。
本文互联网雷锋(小编我)要为大家介绍的Alibaba内部性能优化进阶笔记就不仅仅只针对JVM调优进行讲解,每一章节都有实际的案例支撑。具体包括:性能优化策略.程序编写及硬件服务器的基础知识、Java API优化建议、算法类程序的优化建议、并行计算优化建议、Java程序性能监控及检测、JVM原理知识等。大家可以深入了解Java性能调优的许多主题及相关的综合性知识。
话不多说,下面我就把文档的主要内容展示出来,由于篇幅限制只能以截图的方式展示,需要高清版PDF的朋友可以前往文末自取!
性能调优策略概述
-
为什么需要调优
-
性能优化的参考因素
-
传统计算机体系的分歧
-
导致系统瓶颈的计算资源
-
程序性能衡量指标
-
性能优化目标
-
性能优化策略
-
性能调优分类方法
-
业务方面
-
基础技术方面
-
组件方面
-
架构方面
-
层次方面
优化前的准备知识
-
服务器知识
-
内存
-
GPU/CPU
-
硬盘
-
网络架构
-
新兴技术
Java API调用优化建议
-
面向对象及基础类型
-
集合类概念
-
字符串概念
-
引用类型概念
-
强引用(Strong Reference)
-
软引用(Soft Reference)
-
弱引用(Weak Reference)
-
引用队列
-
虚引用(Phantom Reference)
-
其他相关概念
程序设计优化建议
-
算法优化概述
-
常用算法逻辑描述
-
多核算法优化原理
-
Java算法优化实践
-
设计模式
-
设计模式的六大准则
-
单一对象控制
-
并行程序设计模式
-
接口适配
-
访问方式隔离
I/O及网络相关优化
-
I/O操作优化
-
Socket编程
-
NIO2.0文件系统
-
数据应用优化
-
关系型数据库优化
-
向HBase插入大量数据
-
解决海量数据缓存
-
其他优化
-
Web系统性能优化建议
-
死锁情况解决方案
-
JavaBeans组件
Java并行程序优化建议
-
并行程序优化概述
-
资源限制带来的挑战
-
进程、线程、协程
-
使用多线程的原因
-
线程不安全范例
-
重排序机制
-
实例变量的数据共享
-
生产者与消费者模式
-
线程池的使用
-
锁机制对比
-
锁机制概述
-
Synchronized使用技巧
-
Volatile的使用技巧
-
队列同步器
-
可重入锁
-
读写锁
-
偏向锁和轻量级锁
-
增加程序并行性
-
并发计数器
-
减少上下文切换次数
-
针对Thread类的更新
-
Fork/Join框架
-
Executor框架
-
JDK类库使用
-
原子值
-
并行容器
-
非阻塞队列
-
阻塞队列
-
并发工具类
JVM性能测试及监控
-
监控计算机设备层
-
监控CPU
-
监控内存
-
监控磁盘
-
监控网络
-
监控JVM活动
-
监控垃圾收集目的
-
GC垃圾回收报告分析
-
图形化工具
-
GC跟踪示例
JVM性能调优建议
-
JVM相关概念
-
内存使用相关概念
-
字节码相关知识
-
自动内存管理
-
JVM系统架构
-
JVM的基本架构
-
JVM初始化过程
-
JVM架构模型与执行引擎
-
解释器与JIT编译器
-
类加载机制
-
虚拟机
-
垃圾回收机制相关
-
GC相关概念
-
垃圾回收算法
-
垃圾收集器
-
实用JVM实验
-
将新对象预留在年轻代
-
大对象进入年老代
-
设置对象进入年老代的年龄
-
稳定与震荡的堆大小
-
吞吐量优先案例
-
使用大页案例
-
降低停顿案例
-
设置最大堆内存
-
设置最小堆内存
-
设置年轻代
-
设置持久代
-
设置线程栈
-
堆的比例分配
-
堆分配参数总结
-
垃圾回收器相关参数总结
-
查询GC命令
其他优化建议
-
Java现有机制及未来发展
-
Java体系结构变化历史
-
Java语言面临的挑战
-
Java8的新特性
-
Java语言前景
-
物联网:Java和你是一对
-
Java模块化发展
-
OpenJDK的发展
-
系统架构优化建议
-
系统架构调优
-
Java项目优化方式分享
-
面向服务架构
-
程序隔离技术
-
团队并行开发准则
-
与编程无关
-
工程师品格
-
如何成为技术大牛
-
编程方法分享
写在最后
一个程序员的气质是与生俱来+梦想+坚持+机遇组成的,再多的性能优化经验、案例,如果没有人去阅读、尝试,都不会起多大的作用,希望大家在学习的路上都能行动起来,一起攀上技术新高峰!
文中资料已整理打包存放网盘,有需要的朋友可以点击下方的名片自取!