第一章 -- Java性能调优概述

写在前面的话:读书破万卷,编码如有神
--------------------------------------------------------------------
主要内容包括:

1、概述

2、性能调优的层次

参考内容:

1、《Java程序性能优化 -- 让你的Java程序更快、更稳定》 一书,作者:葛一鸣

-------------------------------------------------------------------- 

1、概述                                                                                                                    

本章主要是对性能优化技术进行整体性的介绍,了解性能的概念性能优化的基本思路与方法

一般来说,程序的性能通过以下几个方面来表现:

  1. 执行速度: 程序的反应十分迅速,响应时间是否足够短。
  2. 内存分配: 内存分配是否合理,是否过多地消耗内存或者存在泄漏。
  3. 启动时间: 程序从运行到可以正常处理业务需要花费多长时间。
  4. 负载承受能力: 当系统压力上升时,系统的执行速度、响应时间的上升曲线是否平缓。

常见的性能参考指标如下:

  1. 执行时间: 一段代码从开始运行到运行结束,所使用的时间。
  2. CPU时间: 函数或者线程占用CPU的时间。
  3. 内存分配: 程序在运行时占用的内存空间。
  4. 磁盘吞吐量: 描述I/O的使用情况。
  5. 网络吞吐量: 描述网络的使用情况。
  6. 响应时间: 系统对某用户行为或者事件做出响应的时间。

2、性能调优的层次                                                                                                     

为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化,常见的优化方法有:代码优化、设计优化、JVM虚拟机优化、数据库优化、操作系统层面优化等等

2.1、设计优化

  设计调优处于所有调优手段的上层,它往往需要在软件开发之前进行。在软件开发之前,软件架构师就应该评估系统可能存在的各种潜在问题,并给出合理的设计方法。由于软件设计和架构对软件整体质量有决定性的影响,所以,设计调优对系统性能的影响也是最大的。

2.2、代码优化

  代码调优是在软件开发过程中,或者在软件开发完成后,软件维护过程中进行的对程序代码的改进和优化。代码优化涉及诸多的编码技巧,需要在合适的场景中选择合适的API、算法、数据结构等等

2.3、JVM优化

  由于Java程序是运行JVM虚拟机上的,所以对JVM虚拟机进行优化也能在一定程度上提升Java程序的性能。

2.4、数据库优化

对于数据库的调优可以分为3个部分:

  1. 在应用层对SQL语句进行优化
  2. 对数据库进行优化
  3. 对数据库软件进行优化

2.5、操作系统优化

  不同类型的操作系统调优的手段和参数可能会有所不同,需要根据具体的操作进行相应的优化操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/xinhuaxuan/p/6371099.html