首页 技术 正文
技术 2022年11月20日
0 收藏 389 点赞 4,725 浏览 838 个字

本文是GC专家系列中的第五篇。在第一篇理解Java垃圾回收中我们学习了几种不同的GC算法的处理过程,GC的工作方式,新生代与老年代的区别。所以,你应该已经了解了JDK 7中的5种GC类型,以及每种GC对性能的影响。

在第二篇Java垃圾回收的监控中介绍了在真实场景中JVM是如何运行GC,如何监控GC数据以及有哪些工具可用来方便进行GC监控。

在第三篇GC 调优中基于真实案例介绍了可用于GC调优的最佳选项。同时也描述了如何通过降低移动到老年代中对象的数量来缩短Full GC耗时,以及如何设置GC类型及内存大小。

在第四篇 Apache的MaxClients设置及其对Tomcat Full GC的影响 中介绍了Apache对 MaxClients 选项在系统发生GC时对整体性能的影响。

在本文中我将会介绍Java应用性能优化的一般原则。具体来说,我会介绍性能优化的必要条件、判断是否需要优化的步骤,同时也会列出在性能优化过程中经遇到的一些问题。在文章结尾,我会给你一些在性能优化过程中如何做出最优决定的建议。

概述

不是每个应用都需要优化。如果系统的运行状况正如你的期望,你就没必要花费更多精力在额外的性能提升上。然而,在调试过程中就期望系统能达到它的目标性能往往会比较困难。这时就需要做系统优化的工作了。不管使用哪种语言,性能优化都要有较高的专业技能和高度专注。另外,因为每个应用都有自己独特的操作和不同的资源使用情况,在优化两个不同系统中可能需要使用不同的具体方法。所以与开发应用相比,性能优化更需要有扎实的基础知识,例如需要具有虚拟机、操作系统甚至计算机体系结构的相关知识。基于这些基础,再面对系统进行优化时,成功的机率就会更高。

一些Java应用的优化只需要调整JVM的选项,例如改变垃圾回收类型,不过有时也是需要去调整源码。不管使用哪种方式,你首先都需要去监控Java应用的执行处理过程。基于此,本文主要涵盖的内容如下:

  • 如何监控Java应用
  • 如何设置JVM选项
  • 如何判断是否有必要修改应用代码
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,086
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,561
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,410
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,183
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,820
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,903