java 程序性能调优(总结一:概述)

简介: 本系列文章 是博主阅读 《java 程序性能优化》一书的总结。大部分内容来自此书。性能参考指标1,执行时间:一段代码从开始运行到结束运行,所使用的时间;2,CPU时间:函数或者线程占用cpu的时间;3,内存分配:程序在运行时占用的内存空间;4,磁盘吞吐量:描述I/O的使用情况;5,网络吞吐量:描述网络的使用情况;6,响应时间:系统对某用户行为或者事件做出响应的时间。

本系列文章 是博主阅读 《java 程序性能优化》一书的总结。大部分内容来自此书。


性能参考指标

1,执行时间:一段代码从开始运行到结束运行,所使用的时间;

2,CPU时间:函数或者线程占用cpu的时间;

3,内存分配:程序在运行时占用的内存空间;

4,磁盘吞吐量:描述I/O的使用情况;

5,网络吞吐量:描述网络的使用情况;

6,响应时间:系统对某用户行为或者事件做出响应的时间。时间越少,性能越好。


木桶原理与性能瓶颈

核心思想是:一只水桶能盛多少水,不是取决于桶壁上最高的那块木板,而是最低的那块。

比如刚才说的6个性能指标,其中任何一个的性能非常差劲的时候,其他5项性能再好,系统整体性能依旧会被性能最差的那一项所影响。


性能调优的层次

1,设计调优,好的系统设计能对系统整体在质上有决定性的影响。

2,代码调优,需要对相关语言的api有比较深入的理解,从微观细节上对性能调优。

3,jvm调优,一般在系统开发的后期,或者软件开发的一个里程碑阶段进行,在一定程度上提升java性能。

4,数据库调优,数据库优化分3块,1,sql优化,2,表设计优化,3,数据库软件参数优化。

5,操作系统调优,作为软件运行的基础平台,操作系统对程序的性能也有较大的影响。


性能问题,十有八九是由某一种性能瓶颈(参考6个性能指标)导致的。找到它,对症下药,就能从根本上提升性能瓶颈。


优化的一般步骤,一般也就是上面所说的性能调优层次的顺序。


系统优化的注意事项:

软件优化需要在软件功能,正确性和代码可维护性之间取得平衡。

性能调优必须要有明确的已知问题和性能目标。不要为了调优而调优,如果当前系统没有明显的性能问题,盲目的进行性能调优,风险将远大于收益。






目录
相关文章
|
9天前
|
IDE Oracle Java
java基础教程(1)-Java概述和相关名词解释
【4月更文挑战第1天】Java是1995年Sun Microsystems发布的高级编程语言,以其跨平台特性著名。它介于编译型和解释型语言之间,通过JVM实现“一次编写,到处运行”。Java有SE、EE和ME三个版本,分别针对标准、企业及嵌入式应用。JVM是Java虚拟机,确保代码在不同平台无需重编译。JRE是运行环境,而JDK包含开发工具。要安装Java开发环境,可从Oracle官网下载JDK,设置JAVA_HOME环境变量并添加到PATH。
|
16天前
|
移动开发 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【4月更文挑战第3天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin的兴起,其在Android开发中的地位逐渐上升,但关于其与Java在性能方面的对比,尚无明确共识。本文通过深入分析并结合实际测试数据,探讨了Kotlin与Java在Android平台上的性能表现,揭示了在不同场景下两者的差异及其对应用性能的潜在影响,为开发者在选择编程语言时提供参考依据。
|
29天前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第30天】 随着Kotlin成为开发Android应用的首选语言,开发者社区对于其性能表现持续关注。本文通过深入分析与基准测试,探讨Kotlin与Java在Android平台上的性能差异,揭示两种语言在编译效率、运行时性能和内存消耗方面的具体表现,并提供优化建议。我们的目标是为Android开发者提供科学依据,帮助他们在项目实践中做出明智的编程语言选择。
|
1月前
|
Java
java程序导出堆文件
java程序导出堆文件
|
1月前
|
SQL Oracle Java
sql文件批处理程序-java桌面应用
sql文件批处理程序-java桌面应用
25 0
|
1月前
|
安全 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第24天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin在Android开发中的普及,了解其与Java在性能方面的差异变得尤为重要。本文通过深入分析和对比两种语言的运行效率、启动时间、内存消耗等关键指标,揭示了Kotlin在实际项目中可能带来的性能影响,并提供了针对性的优化建议。
27 0
|
23天前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
在开发高性能的Android应用时,选择合适的编程语言至关重要。近年来,Kotlin因其简洁性和功能性受到开发者的青睐,但其性能是否与传统的Java相比有所不足?本文通过对比分析Kotlin与Java在Android平台上的运行效率,揭示二者在编译速度、运行时性能及资源消耗方面的具体差异,并探讨在实际项目中如何做出最佳选择。
17 4
|
1月前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【2月更文挑战第24天】 在移动开发领域,性能优化一直是开发者关注的重点。随着Kotlin的兴起,许多Android开发者开始从传统的Java转向Kotlin进行应用开发。本文将深入探讨Kotlin与Java在Android平台上的性能表现,通过对比分析两者在编译效率、运行时性能和内存消耗等方面的差异。我们将基于实际案例研究,为开发者提供选择合适开发语言的数据支持,并分享一些提升应用性能的最佳实践。
|
8天前
|
Java Maven
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
32 3
|
1天前
|
缓存 监控 Java
深入理解Java虚拟机(JVM)性能调优
【4月更文挑战第18天】本文探讨了Java虚拟机(JVM)的性能调优,包括使用`jstat`、`jmap`等工具监控CPU、内存和GC活动,选择适合的垃圾回收器(如Serial、Parallel、CMS、G1),调整堆大小和新生代/老年代比例,以及代码优化和JIT编译策略。通过这些方法,开发者能有效提升应用性能并应对复杂性挑战。性能调优是持续过程,需伴随应用演进和环境变化进行监控与优化。