会后江南白衣花费数日整理PPT,到1.4版本共66页,内容翔实且旁征博引,不断校正且力求做到极致的匠艺精神值得尊敬!

技术大牛飒然Hang如是说到:

技术大神中,除了陈皓就是白衣了,四十岁还能钻研、深究低层技术细节,且视之为乐趣,计算机基础知识也非常扎实,看他们的文章确实获益匪浅;

 关于java性能调优的文章自己也一直想总结一下,看了白衣的ppt,发现自己某些地方还有一些盲点,不得不说,技术这一行永远不敢说精通,无论如何都总会有你的盲点,也总会有比你聪明则更努力的人


本文在江南白衣博客原文基础上增加了部分Slides,本文共有43张图片,可点击图片查看原图浏览,预计阅读整篇文章时间:8分钟

正文

来了唯品会一年多,不少时间花在与服务化框架、业务应用的性能的缠斗上。

前几天正好趁着中生代技术的十月十城技术沙龙,把脑海中关于性能优化的记忆全部理了一遍....讲完回家,又本着认真严谨的态度再理了一遍,终于成为现在这份66页的PPT

各位客官,1.4版内容略有增减,超链接也已修好,请阅读原文重新下载。

范围

应用性能,受操作系统参数,三方类库选择,数据库查询,甚至压测工具如JMeter本身调优的影响。

本次分享只着重在三方面:

  • JVM的调优

  • 代码的调优

  • 定位性能问题的工具

基本原则

网上如此多新旧不一的资料,这么多肆意传播亦真亦错的观点,怎么办呢?

  1. 多看一些靠谱的资料,问一些靠谱的人。

  2. 怀疑一切,微基准测试一切,诚意推荐JMH。

  3. 看JDK代码,看一切代码。

JVM优化

首先,JIT入门知识;

然后,JVM参数的简介;

再然后,最头痛的GC问题的处理。





代码优化

代码优化,两大方向:

一是面向GC的编程,

二是并发与锁,

然后再来聊聊其他。


问题定位工具集

黑盒调优是最不可靠的,推荐线下用JMC,线上用BTrace定位问题。

特别鸣谢

感谢 R大,日常三更半夜跨洋热心解答各种JVM问题。

感谢Chembo(国钦),对PPT的美化。

完整Slides下载

请点击阅读原文跳转江南白衣博客链接,

或者扫描下面二维码直达江南白衣公众号:春天的旁边

可下载原版Slides


公众号ID:jnby1978
SpringSide

长按图片识别二维码

关注大神公众号

原创技术文章

和精彩福利


ps:中生代技术公众号里回复“江南白衣”也可获得下载链接

江南白衣 Java性能优化PPT的更多相关文章

  1. Java 性能优化之 String 篇

    原文:http://www.ibm.com/developerworks/cn/java/j-lo-optmizestring/ Java 性能优化之 String 篇 String 方法用于文本分析 ...

  2. java 性能优化(代码优化)

    参考博文: java 性能优化:35 个小细节,让你提升 java 代码的运行效率

  3. 读书笔记系列之java性能优化权威指南 一 第一章

    主题:java性能优化权威指南 pdf 版本:英文版 Java Performance Tuning 忽略:(0~24页)Performance+Acknowledge 1.Strategies, A ...

  4. [原创]Java性能优化权威指南读书思维导图

    [原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt    Binu John 译者: 柳飞 ...

  5. [原创]Java性能优化权威指南读书思维导图4

    [原创]Java性能优化权威指南读书思维导图4

  6. [原创]Java性能优化权威指南读书思维导图3

    [原创]Java性能优化权威指南读书思维导图3

  7. [原创]Java性能优化权威指南读书思维导图2

    [原创]Java性能优化权威指南读书思维导图2

  8. 《Java性能优化权威指南》

    <Java性能优化权威指南> 基本信息 原书名:Java performance 原出版社: Addison-Wesley Professional 作者: (美)Charlie Hunt ...

  9. 推荐:Java性能优化系列集锦

    Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难.随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了.现代JVM持续演 ...

随机推荐

  1. GoLang中面向对象的三大特性

    有过 JAVA 语言学习经历的朋友都知道,面向对象主要包括了三个基本特征:封装.继承和多态.封装,就是指运行的数据和函数绑定在一起,JAVA 中主要是通过 super 指针来完成的:继承,就是指 cl ...

  2. java 读取本地的json文件

    首先,要先去下载相关的jar包,否则你是无法做到的. 在百度或者谷歌里面输入java json  jar包下载就行了(共7个包). xom-1.1.jar ezmorph-1.0.6.jar json ...

  3. 微信小程序开发及相关设置小结

    今年过年,主要看了<奇葩说>和<电锯惊魂>,很不错,好东西的确需要留出足够的时间来看,匆匆忙忙走马观花是对作者的不尊重.除此之外,就是研究了一下微信小程序开发,先说对小程序的看 ...

  4. [Node.js]32. Level 7: Working with Lists -- Redis

    As we saw in the video, redis can do more than just simple key-value pairs. We are going to be using ...

  5. Windows 抓取本地环路包

    1.cmd,ipconfig查看自己的ip地址. 2.执行命令:route add 10.36.65.89 mask 255.255.255.255 10.36.65.1 metric 1,其中10. ...

  6. c语言 多重排序

    经过了两天,终于会了. #include<stdio.h> #include<string.h> struct A { char name[100]; int gread; } ...

  7. Android 之布局(一)

    Android的布局类型: 主要有:LinearLayout(线性布局).RelativeLayout(相对布局).TableLayout(表格布局).AbsoluteLayout(绝对布局).Fra ...

  8. CentOS7 设置防火墙端口

    [root@localhost wzh]# firewall-cmd --state running [root@localhost wzh]# firewall-cmd --zone=public ...

  9. Linux软件安装方法

    常用的两种软件安装方法: 1.RPM软件安装 rpm -qi 软件名 查询 rpm -ivh *.rpm 安装 rpm -e 软件名 卸载 系统自带的一些rpm包在系统镜像的Server文件夹里,需要 ...

  10. C++使用hiredis连接带密码的redis服务

    c = redisConnect((char*)redis_host, redis_port); if (c->err) { /* Error flags, 0 when there is no ...