江南白衣 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持续演 ...
随机推荐
- 微信小程序价值思考:手机端的CS-BS迁移
从很多特点来看,小程序都非常类似于网页:主要的业务逻辑在服务端.客户端无需安装应用程序.小程序的开发采用的HTML+JS+CSS技术等等.张小龙自己对小程序的定位也大概如此:无意做小程序分发平台,只是 ...
- 【React全家桶入门之十三】Redux中间件与异步action
在上一篇中我们了解到,更新Redux中状态的流程是这种:action -> reducer -> new state. 文中也讲到.action是一个普通的javascript对象.red ...
- ubuntu 安装 codelite
http://www.linuxidc.com/Linux/2013-06/85332.htm Ubuntu 12.04下为codelite增添更新源 1.获取codelite的公钥 sudo apt ...
- socket编程—— 服务器遇到Broken Pipe崩溃
我写了一个服务器程序, 在Linux下测试时, 总是莫名退出. 最后跟踪到是write调用导致退出. 用gdb执行程序, 退出时提示"Broken pipe". 最后问题确定为, ...
- 多mysql实例下开发需要注意主从同步延迟
今天晚上服务器上线测试,遇到了一个问题! 往数据库写了一条数据之后,再读取该记录,居然读不出来,报空指针.十分费解,喊来开发组长定位问题.他的解释是:写操作用的是主库,而读操作用的是从库.在写库写完之 ...
- PHP高级教程-安全邮件
PHP Secure E-mails 在上一节中的 PHP e-mail 脚本中,存在着一个漏洞. PHP E-mail 注入 首先,请看上一章中的 PHP 代码: <html> < ...
- 解决m2e插件maven-dependency-plugin问题
http://blog.csdn.net/smst1987/article/details/6871495 问题:maven-dependency-plugin (goals "copy-d ...
- Ubuntu apt-get方式安装Subversion
按照官方文档 http://subversion.apache.org/packages.html 使用apt-get安装方式: 1.安装Subversion: sudo apt-get instal ...
- VB总结1-事件过程之键盘鼠标过程
事件过程:参考 (http://baike.baidu.com/view/1523990.htm) 事件是指对象对于外部动作的响应,当对象发生了某个事件,就会执行与此对象的这个事件相应的代码,这段代码 ...
- 解决Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4
Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://uk.maven.o ...