江南白衣 Java性能优化PPT
会后江南白衣花费数日整理PPT,到1.4版本共66页,内容翔实且旁征博引,不断校正且力求做到极致的匠艺精神值得尊敬!
技术大牛飒然Hang如是说到:
“技术大神中,除了陈皓就是白衣了,四十岁还能钻研、深究低层技术细节,且视之为乐趣,计算机基础知识也非常扎实,看他们的文章确实获益匪浅;
关于java性能调优的文章自己也一直想总结一下,看了白衣的ppt,发现自己某些地方还有一些盲点,不得不说,技术这一行永远不敢说精通,无论如何都总会有你的盲点,也总会有比你聪明则更努力的人”
本文在江南白衣博客原文基础上增加了部分Slides,本文共有43张图片,可点击图片查看原图浏览,预计阅读整篇文章时间:8分钟
正文
来了唯品会一年多,不少时间花在与服务化框架、业务应用的性能的缠斗上。
前几天正好趁着中生代技术的十月十城技术沙龙,把脑海中关于性能优化的记忆全部理了一遍....讲完回家,又本着认真严谨的态度再理了一遍,终于成为现在这份66页的PPT。
各位客官,1.4版内容略有增减,超链接也已修好,请阅读原文重新下载。
范围
应用性能,受操作系统参数,三方类库选择,数据库查询,甚至压测工具如JMeter本身调优的影响。
本次分享只着重在三方面:
JVM的调优
代码的调优
定位性能问题的工具
基本原则
网上如此多新旧不一的资料,这么多肆意传播亦真亦错的观点,怎么办呢?
多看一些靠谱的资料,问一些靠谱的人。
怀疑一切,微基准测试一切,诚意推荐JMH。
看JDK代码,看一切代码。
JVM优化
首先,JIT入门知识;
然后,JVM参数的简介;
再然后,最头痛的GC问题的处理。
代码优化
代码优化,两大方向:
一是面向GC的编程,
二是并发与锁,
然后再来聊聊其他。
问题定位工具集
黑盒调优是最不可靠的,推荐线下用JMC,线上用BTrace定位问题。
特别鸣谢
感谢 R大,日常三更半夜跨洋热心解答各种JVM问题。
感谢Chembo(国钦),对PPT的美化。
完整Slides下载
请点击阅读原文跳转江南白衣博客链接,
或者扫描下面二维码直达江南白衣公众号:春天的旁边
可下载原版Slides
长按图片识别二维码
关注大神公众号
原创技术文章
和精彩福利
ps:中生代技术公众号里回复“江南白衣”也可获得下载链接
江南白衣 Java性能优化PPT的更多相关文章
- Java 性能优化之 String 篇
原文:http://www.ibm.com/developerworks/cn/java/j-lo-optmizestring/ Java 性能优化之 String 篇 String 方法用于文本分析 ...
- java 性能优化(代码优化)
参考博文: java 性能优化:35 个小细节,让你提升 java 代码的运行效率
- 读书笔记系列之java性能优化权威指南 一 第一章
主题:java性能优化权威指南 pdf 版本:英文版 Java Performance Tuning 忽略:(0~24页)Performance+Acknowledge 1.Strategies, A ...
- [原创]Java性能优化权威指南读书思维导图
[原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt Binu John 译者: 柳飞 ...
- [原创]Java性能优化权威指南读书思维导图4
[原创]Java性能优化权威指南读书思维导图4
- [原创]Java性能优化权威指南读书思维导图3
[原创]Java性能优化权威指南读书思维导图3
- [原创]Java性能优化权威指南读书思维导图2
[原创]Java性能优化权威指南读书思维导图2
- 《Java性能优化权威指南》
<Java性能优化权威指南> 基本信息 原书名:Java performance 原出版社: Addison-Wesley Professional 作者: (美)Charlie Hunt ...
- 推荐:Java性能优化系列集锦
Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难.随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了.现代JVM持续演 ...
随机推荐
- Go常用功能总结一阶段
1. go语言从键盘获取输入内容 <1. 最简单的办法是使用 fmt 包提供的 Scan 和 Sscan 开头的函数.请看以下程序: package main import "fmt& ...
- Java8新特性之重复注解(repeating annotations)浅析
Java8新特性之重复注解(repeating annotations)浅析 学习了:https://www.jb51.net/article/50827.htm
- matlab中find函数的使用说明
matlab中如何统计一个矩阵M中零的个数 size(find(M==0),1) 原文:http://blog.sina.com.cn/s/blog_707b64550100rbh3.html fin ...
- docker入门——构建镜像
前面我们已经介绍了如何拉取已经构建好的带有定制内容的Docker镜像,那么如何构建自己的镜像呢? 构建Docker镜像有以下两种方法: 使用docker commit命令. 使用docker buil ...
- [android错误] Installation error: INSTALL_FAILED_VERSION_DOWNGRA
错误表现: [2014-06-27 18:19:51 - XXX] Installing XXXX.apk... [2014-06-27 18:20:00 - XXX] Installation er ...
- PHP高级教程-高级过滤器
PHP 高级过滤器 检测一个数字是否在一个范围内 以下实例使用了 filter_var() 函数来检测一个 INT 型的变量是否在 1 到 200 内: 实例 <?php $int = 122; ...
- PHP 表单 - 4(验证邮件和URL)
PHP 表单 - 验证邮件和URL 本章节我们将介绍如何验证 names(名称), e-mails(邮件), 和 URLs. PHP - 验证名称 以下代码将通过简单的方式来检测 name 字段是否包 ...
- BIOS和Bootloader的对比
桌面电脑刚加电时,一个叫做BIOS的软件程序立刻获得了处理器的控制权.(历史上,BIOS是Basic Input/Output Software的缩写,但现在这个单词已经有了自身的含义,因为其完成的功 ...
- HTML的GET方法传递参数样式。
#HTML的GET方法传递参数样式.http://127.0.0.1:8080/web1/urlinfo/getobject.html?UserId=1&UserName=ad
- jsp页面获取集合的长度
createTime--2016年10月12日16:20:02Author:Marydonjsp页面获取集合的长度 在jsp页面与js中不能通过${list.size}取列表长度,而是引入jstl ...