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

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、操作系统优化

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

第一章 -- Java性能调优概述的更多相关文章

  1. Java性能调优概述

    目录 Java性能调优概述 性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!! 程序性能的主要表现点 执行速度:程序的反映是否迅速,响应时间是否足够 ...

  2. 第六章 Java性能调优工具(待续)

    Java性能调优工具 Windows工具 JDK命令行工具 JConsole工具 Visual VM多合一工具 Visual VM对QQL的支持 MAT内存分析工具 MAT对QQL的支持 JProfi ...

  3. Java程序性能优化读书笔记(一):Java性能调优概述

    程序性能的主要表现点: 执行速度:程序的反映是否迅速,响应时间是否足够短 内存分配:内存分配是否合理,是否过多地消耗内存或者存在内存泄漏 启动时间:程序从运行到可以正常处理业务需要花费多少时间 负载承 ...

  4. [Spark性能调优] 第一章:性能调优的本质、Spark资源使用原理和调优要点分析

    本課主題 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质 ...

  5. Java性能调优:利用JMC分析性能

    Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JMC分析 ...

  6. Java性能调优攻略全分享,5步搞定!(附超全技能图谱)

    对于很多研发人员来说,Java 性能调优都是很头疼的问题,为什么这么说?如今,一个简单的系统就囊括了应用程序.数据库.容器.操作系统.网络等技术,线上一旦出现性能问题,就可能要你协调多方面组件去进行优 ...

  7. Java性能调优笔记

    Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...

  8. Java性能调优(一):调优的流程和程序性能分析

     https://blog.csdn.net/Oeljeklaus/article/details/80656732 Java性能调优 随着应用的数据量不断的增加,系统的反应一般会越来越慢,这个时候我 ...

  9. Java性能调优:利用JFR生成性能日志

    Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JFR生成 ...

随机推荐

  1. ubuntu永久修改主机名

    1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方法:其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后:其二,在终端窗口中输入命令:hostname ...

  2. oracle imp dmp命令

    vi par.txt userid=system/oracle tables=(user.table,...) query="where org_no like 32%" file ...

  3. PHP深浅拷贝

    举个栗子: <?php class Example1 { public $name; public function __construct($name) { $this->name = ...

  4. 37 - 网络编程-UDP编程

    目录 1 UDP协议 2 UDP通信流程 3 UDP编程 3.1 构建服务端 3.3 常用方法 4 聊天室 5 UDP协议应用 1 UDP协议 UDP是面向无连接的协议,使用UDP协议时,不需要建立连 ...

  5. git命令大全【转】

    转自:http://www.jqhtml.com/8235.html 初始化本地git仓库(创建新仓库) git init 配置用户名 git config --global user.name &q ...

  6. Ural Sport Programming Championship 2015

    Ural Sport Programming Championship 2015 A - The First Day at School 题目描述:给出课程安排,打印一个课程表. solution 暴 ...

  7. iOS 取消按钮高亮显示方法

    objective-C 第1种方法: 设置按钮的normal 与 highlighted 一样的图片, 不过如果你也需要selected状态下的图片, 就不能这么做, 这样做在取消选中状态的时候就会显 ...

  8. Eloquent中一些其他的create方法

    firstOrCreate/ firstOrNew# 还有两种其它方法,你可以用来通过属性批量赋值创建你的模型:firstOrCreate 和firstOrNew.firstOrCreate 方法将会 ...

  9. 字节对齐&&sizeof

    转:http://blog.chinaunix.net/uid-722885-id-124878.html 1. sizeof应用在结构上的情况 请看下面的结构: struct MyStruct { ...

  10. JavaScript 中typeof、instanceof 与 constructor 的区别?

    typeof.instanceof 与 constructor 详解 typeof  一元运算符 返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,包括number,boolean,st ...