JVM性能优化笔记
2020-12-18 18:49:10 0 举报
AI智能生成
JVM和性能优化学习思维笔记思维导图
作者其他创作
大纲/内容
JVM和性能优化
1、Java内存区域
虚拟机的历史
未来的Java技术一览
运行时数据区域
各个区域的作用
程序计数器
栈
堆
方法区
运行时常量池
各个版本内存区域的变化
1.6
1.7
1.8
直接内存
站在线程角度来看堆和栈
深入辨析堆和栈
方法的出入栈
栈桢
栈上分配
虚拟机中的对象
分配过程
内存布局
对象的访问定位
堆参数设置和内存溢出实战
Java堆溢出
新生代配置
方法区和运行时常量池溢出
虚拟机栈和本地方法栈溢出
本机直接内存溢出
2、垃圾回收器和内存分配策略
GC概述
判断对象的存活
辨析强、弱等各种引用
GC算法
标记-清除算法
复制算法
标记-整理算法
分代收集
Stop The World现象
GC日志解读
内存分配与回收策略
内存泄漏和内存溢出辨析
JDK为我们提供的工具
了解MAT
垃圾回收器
垃圾回收器概览
垃圾回收器工作详解
G1详解
未来的垃圾回收
3、JVM的执行子系统
Class类文件本质
Class文件格式
格式详解
字节码指令
类加载机制
加载过程详解
类加载器
自定义类加载对类进行加密和解密
系统的类加载器
双亲委派模型
Tomcat类加载机制
栈桢详解
方法调用详解
基于栈的字节码解释执行引擎
基于栈的指令集与基于寄存器的指令集
分析代码在虚拟机中的执行情况
4、编写高效优雅Java程序
构造器参数太多怎么办?
不需要实例化的类应该构造器私有
不要创建不必要的对象
避免使用终结方法
使类和成员的可访问性最小化
使可变性最小化
优先使用复合
接口优于抽象类
可变参数要谨慎使用
返回零长度的数组或集合,不要返回null
优先使用标准的异常
用枚举代替int常量
将局部变量的作用域最小化
精确计算,避免使用float和double
当心字符串连接的性能
5、深入了解性能优化
常用的性能评价/测试指标
响应时间
并发数
吞吐量
相互之间的关系
常用的性能优化手段
总原则
前端优化手段
应用服务性能优化
存储性能优化
详细了解应用服务性能优化
缓存
缓存的基本原理和本质
合理使用缓冲的准则
分布式缓存与一致性哈希
集群
异步
同步和异步,阻塞和非阻塞
常见异步的手段
应用相关
代码级别
并发编程
资源的复用
JVM
与JIT编译器相关的优化
GC调优
JVM调优实战
0 条评论
回复 删除
下一页