《Java性能调优》学习笔记(1)
- 性能的参考指标
- 执行时间 -- 从代码开始运行到结束的时间
- CPU时间 -- 函数或者线程占用CPU的时间
- 内存分配 -- 程序在运行时占用内存的情况
- 磁盘吞吐量 -- 描述IO的使用情况
- 网络吞吐量 -- 描述网络的使用情况
- 响应时间 -- 系统对某用户行为或者时间做出的响应时间
- 性能的瓶颈资源可能有:
- 磁盘IO
- 网络操作
- CPU
- 异常 -- 对Java应用来说,异常的补货和处理是非常消耗资源的,如果程序高频率的对异常处理会对整体性能有影响
- 数据库
- 锁竞争 -- 增加上下文切换的开销
- 内存
- 性能调优的层次
- 设计调优 -- 宏观调优,开发之前设计出合理方案,直接决定产品品质,能事先规避问题。设计优化时,设计人员要熟悉设计方法,设计模式,基本性能组件和常用的优化思想。
- 代码调优 -- 微观调优,注重实现方式的性能差异
- JVM调优 -- 开发后期记性,需要对JVM的运行原理和基本内存结构有一定的了解。如果堆内存的结构,GC的种类等
- 数据库调优
- 应用层对SQL语句进行优化 -- SQL语句的优化
- 对数据库进行优化 -- 设计良好的表结构
- 对数据库软件进行优化 -- 例如设置合理大小的共享池,缓存缓冲区或者PGA等
- 操作系统调优 -- 比如UNIX中共享内存段,信号量,共享内存最大值等
《Java性能调优》学习笔记(1)的更多相关文章
- Java性能调优笔记
Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...
- Java性能调优攻略全分享,5步搞定!(附超全技能图谱)
对于很多研发人员来说,Java 性能调优都是很头疼的问题,为什么这么说?如今,一个简单的系统就囊括了应用程序.数据库.容器.操作系统.网络等技术,线上一旦出现性能问题,就可能要你协调多方面组件去进行优 ...
- Java性能调优(一):调优的流程和程序性能分析
https://blog.csdn.net/Oeljeklaus/article/details/80656732 Java性能调优 随着应用的数据量不断的增加,系统的反应一般会越来越慢,这个时候我 ...
- Java性能调优:利用JMC分析性能
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JMC分析 ...
- Java性能调优:利用JFR生成性能日志
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JFR生成 ...
- 第六章 Java性能调优工具(待续)
Java性能调优工具 Windows工具 JDK命令行工具 JConsole工具 Visual VM多合一工具 Visual VM对QQL的支持 MAT内存分析工具 MAT对QQL的支持 JProfi ...
- java 性能调优和GC
JAVA 性能调优和GC http://blog.csdn.net/gzh0222/article/details/7663181 JAVA GC调优手记 http://blog.csdn.net/f ...
- Java性能调优概述
目录 Java性能调优概述 性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!! 程序性能的主要表现点 执行速度:程序的反映是否迅速,响应时间是否足够 ...
- Java性能调优实战,覆盖80%以上调优场景
Java 性能调优对于每一个奋战在开发一线的技术人来说,随着系统访问量的增加.代码的臃肿,各种性能问题便会层出不穷. 日渐复杂的系统,错综复杂的性能调优,都对Java工程师的技术广度和技术深度提出了更 ...
随机推荐
- Android 8.0+ 更新安装apk失败的问题
最近做项目发现Android 8.0+ 更新安装apk时 出现安装失败的情况 总结原因是 缺少安装的权限 Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他无关应用. ...
- ubuntu 下安装pip3
在使用任何apt 安装任何软件包之前,建议用以下命令更新软件 sudo apt update 更新好了后可能会出现 apt list --upgradable 安装pip3 sudo apt inst ...
- Swoole 网络通信协议,固定包头。
网络通信过程中,可能会出现分包和合包的情况.具体情况如https://wiki.swoole.com/wiki/page/484.html文档所讲的.这里测试了下固定包头的协议.示例代码如下 1.解包 ...
- web自动化上传附件 2
当我们进行某一项web自动化脚本编写时,有上传附件操作,点击附件直接打开了windows窗口,而有的点击添加附件打开一个小窗体,再点击‘浏览’才打开windows窗口, 中间多了这么一个小窗体的操作, ...
- intel xeon家族介绍
Xeon - Intel < intel Xeon Past and current logos Developer Intel Manufacturer Intel Typ ...
- L2范数的相关求解
https://blog.csdn.net/u010725283/article/details/79212762
- oracle12C安装步骤
首先去官网下载两个架包链接如下:官网链接 第一步:将两个架包解压到同一个database目录下.如截图所示: 第二步:打开setup应用程序 打开后就到了下面这个页面 第三步:配置安全更新 环境变量配 ...
- Chapter6_访问权限控制_访问权限修饰词
Java中有四种访问权限,public,private,protected和包访问权限,它们是置于类中每一个成员之前的定义,无论是一个域还是一个方法,下面一一介绍. 一.包访问权限 如果不提供任何访问 ...
- docker私库Harbor部署(转载)
系统环境 centos7.3docker-ce docker version: 18.03.0docker-compose version: 1.21.0 Install Docker CE 安装依赖 ...
- Python从入门到精通之Fifth!
字典 类名:dict 字典是无序的. 字典的创建 info = {"k1":{1:"abc",[1,2,3]},"k2":True} ...