第一章 -- Java性能调优概述
写在前面的话:读书破万卷,编码如有神
--------------------------------------------------------------------
主要内容包括:
1、概述
2、性能调优的层次
参考内容:
1、《Java程序性能优化 -- 让你的Java程序更快、更稳定》 一书,作者:葛一鸣
--------------------------------------------------------------------
1、概述
本章主要是对性能优化技术进行整体性的介绍,了解性能的概念和性能优化的基本思路与方法。
一般来说,程序的性能通过以下几个方面来表现:
- 执行速度: 程序的反应十分迅速,响应时间是否足够短。
- 内存分配: 内存分配是否合理,是否过多地消耗内存或者存在泄漏。
- 启动时间: 程序从运行到可以正常处理业务需要花费多长时间。
- 负载承受能力: 当系统压力上升时,系统的执行速度、响应时间的上升曲线是否平缓。
常见的性能参考指标如下:
- 执行时间: 一段代码从开始运行到运行结束,所使用的时间。
- CPU时间: 函数或者线程占用CPU的时间。
- 内存分配: 程序在运行时占用的内存空间。
- 磁盘吞吐量: 描述I/O的使用情况。
- 网络吞吐量: 描述网络的使用情况。
- 响应时间: 系统对某用户行为或者事件做出响应的时间。
2、性能调优的层次
为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化,常见的优化方法有:代码优化、设计优化、JVM虚拟机优化、数据库优化、操作系统层面优化等等
2.1、设计优化
设计调优处于所有调优手段的上层,它往往需要在软件开发之前进行。在软件开发之前,软件架构师就应该评估系统可能存在的各种潜在问题,并给出合理的设计方法。由于软件设计和架构对软件整体质量有决定性的影响,所以,设计调优对系统性能的影响也是最大的。
2.2、代码优化
代码调优是在软件开发过程中,或者在软件开发完成后,软件维护过程中进行的对程序代码的改进和优化。代码优化涉及诸多的编码技巧,需要在合适的场景中选择合适的API、算法、数据结构等等
2.3、JVM优化
由于Java程序是运行JVM虚拟机上的,所以对JVM虚拟机进行优化也能在一定程度上提升Java程序的性能。
2.4、数据库优化
对于数据库的调优可以分为3个部分:
- 在应用层对SQL语句进行优化
- 对数据库进行优化
- 对数据库软件进行优化
2.5、操作系统优化
不同类型的操作系统调优的手段和参数可能会有所不同,需要根据具体的操作进行相应的优化操作。
第一章 -- Java性能调优概述的更多相关文章
- Java性能调优概述
目录 Java性能调优概述 性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!! 程序性能的主要表现点 执行速度:程序的反映是否迅速,响应时间是否足够 ...
- 第六章 Java性能调优工具(待续)
Java性能调优工具 Windows工具 JDK命令行工具 JConsole工具 Visual VM多合一工具 Visual VM对QQL的支持 MAT内存分析工具 MAT对QQL的支持 JProfi ...
- Java程序性能优化读书笔记(一):Java性能调优概述
程序性能的主要表现点: 执行速度:程序的反映是否迅速,响应时间是否足够短 内存分配:内存分配是否合理,是否过多地消耗内存或者存在内存泄漏 启动时间:程序从运行到可以正常处理业务需要花费多少时间 负载承 ...
- [Spark性能调优] 第一章:性能调优的本质、Spark资源使用原理和调优要点分析
本課主題 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质 ...
- Java性能调优:利用JMC分析性能
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JMC分析 ...
- Java性能调优攻略全分享,5步搞定!(附超全技能图谱)
对于很多研发人员来说,Java 性能调优都是很头疼的问题,为什么这么说?如今,一个简单的系统就囊括了应用程序.数据库.容器.操作系统.网络等技术,线上一旦出现性能问题,就可能要你协调多方面组件去进行优 ...
- Java性能调优笔记
Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...
- Java性能调优(一):调优的流程和程序性能分析
https://blog.csdn.net/Oeljeklaus/article/details/80656732 Java性能调优 随着应用的数据量不断的增加,系统的反应一般会越来越慢,这个时候我 ...
- Java性能调优:利用JFR生成性能日志
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JFR生成 ...
随机推荐
- Verilog笔记.4.inout端口
inout是一个双向端口,实现为使用三态门,第三态为高阻态‘z’. 在实际电路中高阻态意味着响应的管脚悬空.断开. 当三态门的控制信号为真时,三态门选通,作输出端口使用:控制信号为假时,三态门是高阻态 ...
- RTM,RTW,GA等软件版本号详解
一直以来,对于新手而言,软件的版本号都是个比较困扰人的问题,什么Beta.RC,再来个RTM.RTW....头大了吧?RTM和RTW有什么区别?借此机会,就给大家介绍一下这方面的小知识吧. 1.软件开 ...
- 【bzoj5050】【bzoj九月月赛H】建造摩天楼
讲个笑话,这个题很休闲的. 大概是这样的,昨天看到这个题,第一眼星际把题目看反了然后感觉这是个傻逼题. 后来发现不对,这个修改一次的影响是很多的,可能导致一个数突然可以被改,也可能导致一个数不能被改. ...
- How to insert a segment of noise to music file
如何向音频文件中插入噪声 为了研究噪声和音乐对EEG的的影响,实验前需要准备一段夹杂噪声的音乐. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- 数学中的Sin和Cos是什么意思?(转)
数学中的Sin和Cos是什么意思? 作者:admin 分类:生活随笔 发表于 2012年03月21日 16:48 问:数学中的Sin和Cos是什么意思? 答:sin, cos, tan 都是三角函数, ...
- ie6下png图片背景色处理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- Kiggle:Digit Recognizer
题目链接:Kiggle:Digit Recognizer Each image is 28 pixels in height and 28 pixels in width, for a total o ...
- Linux 基础——压缩解压命令
时间过的真快,周末不会学习Linux,每天就是下班后学习.这周工作很忙,要几天总结一次了. 一.处理数据文件 sort dest:将目标文件的内容进行排序,默认是按字符顺序排序的. sort -n d ...
- ueditor 编辑器上传到服务器后图片上传不能正常使用
网站集成ueditor编辑器后在本地能正常使用,上传到服务器上后,图片上传功能提示:后端配置项没有正常加载,上传插件不能正常使用.且单个图片上传图标是灰色的不能点击. 相信遇到这个问题的同学是很多的吧 ...
- Django admin后台操作
Django提供自动后台管理应用,简称admin. admin是一个应用,每个Web站点都需要它.admin通过让开发者可以在完成完整的UI之前验证处理数据的代码. 设置admin 打开setting ...