java思维导图
前言
我们通常情况下,一开始可以有条不紊地进行软件需求定义和分析,随着上线时间的不断追近,面对客户的咄咄逼人的需求修改和即刻变更需求上线压力,程序员作为弱势群体,往往会考虑时间优先原则,很难守住按部就班的开发计划和开发方式,从而导致出现了软件质量的大幅度下降。
软件一定存在修改的余地,但是程序员们通常不相信自己的系统存在诸多问题,尤其是感觉自己已经做得相当完美。
系统调优在软件的后续改进和重构中占有很大的地位,能够弥补前述的不足,本文以通俗的语言和引人入胜的故事,重点讲述软件性能调优的方法论和具体实现路径,读者可以根据自己的实际情况进行参照比对,就像进了兵器库挑选合适自己的顺手武器。
程序凑合着上线是一回事,而能够优美地运行在压力下往往很不容易。本文对于所有有志于进行软件高级管理的人员而言,具有非常重要的意义。
希望大家能仔细阅读本文,掌握其中的真谛,并且能够灵活的运用到工作中去,不断地提升自己的能力!!
目录
主要内容
本文内容总共有八章,结合自己的实践经验总结了一些性能优化的方案。这些经验涉及Java基本语法、对象和引用、String类型和集合类的使用等各个方面且附有示例,使人受益匪浅,如果能够将其灵活运用到自己的系统中,相信能够对读者处理性能优化问题提供不小的帮助。此外,看待性能优化问题的视角相对开阔,系统且详尽地讨论了可能导致性能问题的各个环节和不同角度下性能优化的问题,读后令人豁然开朗。
第1章 性能调优策略概述,本章首先介绍了为什么我们需要性能调优,通过12306、奥运会票务系统、B2C网站等例子让读者能够明白性能优化的重要性和必要性。然后通过对性能的参考指标介绍,让读者了解性能优劣的评判依据。接下来,对性能调优进行分类,按照基础技术、系统架构、层次序列等三个方法进行性能优化。通过对本章的阅读,读者可能可以明确阅读本书的目的,然后通过第2章的预备知识,对性能调优开始前的基础技术有一定的了解。
第2章 优化前的准备知识,本章主要介绍和解决以下问题,这些也是优化之前的准备知识:
-
什么是内存、CPU、GPU、硬盘、网络,Java程序怎么样才能更好地利用它们。
-
那些高大上的技术,集群技术、云计算技术、分布式技术、虚拟化技术,它们是什么。
-
为第3章开始的具体编程、原理讲解做准备。
第3章 Java API调用优化建议,本章首先针对面向对象基础、基础类型概念列举了一些优化建议及范例代码,然后对集合类的优化方案,特别是Java8的一些新特性进行了解释及范例代码演示。接下来,对字符串操作的优化建议及实践、对象引用级别的优化及实践这两个主题进行深入解释。最后,演示了其他一些方面的优化方案。由于篇幅所限,不能列举所有的优化方案及实践经验,请读者见谅。
第4章 程序设计优化建议,本章首先针对算法相关的概念、优化建议进行了陈述,然后挑选了一些较有代表性的设计模式进行了深入的优化建议介绍,接下来对网络相关、数据库相关的优化建议也做了一些技术、经验分享,最后对程序设计过程中遇到的示例、常见问题做了一些总结和分享。
第5章 Java并行程序优化建议,本章首先针对并行程序优化的一些普遍型概念、技巧进行了介绍,包括进程、线程方面的概念性知识,也对Synchronized、Volatile、锁、线程池等很实用的使用技巧进行了总结,接下来对增强程序并行能力的几个技巧进行了阐述,最后针对JDK自带的一些类库,例如并行容器、队列、工具类等进行了解释,特别是对这些类库的使用进行了详细的描述。
第6章 JVM性能测试及监控,本章首先对计算机设备层面,例如CPU、内存、硬盘、网络等的使用情况检测方式进行了描述,列举了一系列可用的工具及详细用法,接下来介绍了JVM监控的一些常用工具及具体使用方法,然后对操作系统层面的一些有用的数据,例如进程、线程、锁竞争、运行时信息等打印方法进行了阐述。
第7章 JVM性能调优建议,本章首先介绍了JVM的内部概念,包括内存使用、字节码组成及使用、自动内存管理等,接下来介绍了JVM系统架构,包括基本架构、初始化过程、执行引擎方式、JIT编译器、类加载器等,接下来重点介绍了垃圾回收相关的概念,包括GC、垃圾回收算法、垃圾收集器等,最后是实践部分,针对JVM的参数调整进行了着重解释和示例演示,还对淘宝VM进行了一点介绍。
第8章 其他优化建议,本章是针对前面各个章节没有提到的一些性能优化建议、全局性建议的补充。首先针对Web应用、Web容器的性能优化提出自己的建议,然后讲解了一些数据库应用方面的优化建议,接下来对企业级应用和系统整体架构方面的优化提出自己的看法,最后是一些与个人品质、思维方式相关的建议。通过本章的分享,全书完成了所有与Java程序相关的知识分享,希望读者能够受益。
这份【大话java性能优化】共有564页,需要完整版的朋友,可点击上方 java思维导图即可
专家对本文的热评
本文从系统架构、系统设计、开发、编码、算法等多层次、多角度提供思路和优化策略,是一本很务实的技术贴,值得大家学习、借鉴和探讨。
希望大家能够好好学习,并且能够学以致用,不断提升自己的技术深度和宽度!!