美文网首页开发技巧Java 杂谈java高级开发群
不止性能优化!阿里新产Java系统优化笔记,性能极致先睹为快

不止性能优化!阿里新产Java系统优化笔记,性能极致先睹为快

作者: Java全能架构师 | 来源:发表于2020-12-23 14:23 被阅读0次

    性能优化

    “性能优化”——一个老生常谈的话题。如何提高系统性能?是我们每一个开发者都需要考虑的问题,每个公司都要求程序员写出性能良好、维护性强的代码,现在各种高端职位的任职要求也会把优化系统作为必选要求之一。我们一般谈到性能优化都是简单粗暴升级系统硬件,或者购置更多的机器水平扩展系统,从而减少单机负荷。但这方法显然是治标不治本,其实出现性能问题的原因一般在于那些“坏代码”的堆积,如何写出优雅、易读、高质量、易于扩展的代码才是我们真正要考虑的问题。

    那么问题来了,怎么做?

    性能优化一直都是软件工程师们的苦处。市面上有关于性能优化的资料有太多太多但真正能从run-time的视角指出了Java代码系统性优化的一些方向和实战技法的却是很少,前段时间我从阿里朋友手上偶然得到的一份性能优化笔记却颠覆了我的认知,它可以作为Java程序员追求性能极致的参考指南甚至案头手册。不多bb,下面一睹为快!

    由于篇幅限制,就只能以截图主要内容的方式为大家展示出来了,需要的朋友帮忙点赞文章,关注我之后获取方式在文末哦!

    第一部分

    • Java代码优化

    通过一个不超过10行的代码优化示例介绍如何对Java系统进行优化,如何使用JMH验证性能优化

    image
    • JMH常用设置
    image
    • 字符串和数字操作

    介绍JDK的核心类String、Number和并发包

    image
    • 字符串拼接
    image
    • 并发编程和异步编程
    image
    • 并发编程
    image
    • 异步编程
    image
    • 代码性能优化

    通过20多个优化技巧来说明Java性能优化的各种方法

    image
    • 使用Native方法
    image
    • 静态方法调用
    image
    • 错误优化策略
    image
    • 高性能工具

    介绍了常用的高性能工具,如Caffeine、Jackson、 HikariCP, 并对其高性能的原因做了一定的源码解析。

    image
    • Caffeine
    image
    • JSON工具
    image

    第二部分

    • Java注释规范

    不同于代码规范,这部分强调编写易于阅读的代码,会从代码注释、代码分解、面向对象三方面进行讲解。容易阅读的代码是系统性能优化的前提。

    image
    • @deprecated
    image
    • 可读性代码
    image
    • 中间变量
    image

    第三部分

    • JIT优化

    介绍JIT优化。JIT优化对Java系统运行有深刻的影响,本章系统介绍了JIT编译器、代码缓存、内联等知识。

    image
    • 代码缓存
    image

    第四部分

    • 代码审查

    包含30多个具有“坏味道”的代码片段,读者可以尝试优化代码。

    image
    • 完善注释
    image

    第五部分

    • ASM运行时增强

    介绍Java字节码和ASM,用于运行时增强Java系统;

    image
    • 操作数栈的变化分析
    image
    • JSR269编译时增强

    介绍JSR269规范,用于编译时增强Java系统。通过使用这些技术,可以有效提升系统的维护性和性能。

    image
    • Java编译的过程
    image
    • 注解处理器的使用
    image

    由于篇幅限制就只能这样展示了,还望见谅!

    最后

    高性能的程序,都没有容易二字,都是一个细节一个细节抠出来的,这份文档不只是性能优化,在代码规范上也有很好的诠释。好的规范可以规避大部分的“坑”,因此如果你想少“踩坑”,一定不要错过。

    需要的朋友添加小助理vx:bjmsb2020 即可百分百获取!
    

    相关文章

      网友评论

        本文标题:不止性能优化!阿里新产Java系统优化笔记,性能极致先睹为快

        本文链接:https://www.haomeiwen.com/subject/qthsnktx.html