java性能调优的基本知识.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Java性能调优的基本知识 Java性能调优是指通过优化Java虚拟机(JVM)和垃圾收集算法来提高Java程序的执行速度和效率。Java性能调优的基本知识包括了解Java堆的概念、垃圾收集算法、JDK版本选择、性能优化策略等。 Java堆是指在程序运行时分配给对象生存的空间。通过-mx/-Xmx和-ms/-Xms来设置起始堆的大小和最大堆的大小。Java堆大小决定了垃圾回收的频度和速度,Java堆越大,垃圾回收的频度越低,速度越慢。同理,Java堆越小,垃圾回收的频度越高,速度越快。 设置合适的Java堆大小非常重要。最大堆大小不能太大,这样会造成系统内存被频繁的交换和分页。最大内存必须低于物理内存减去其他应用程序和进程需要的内存。堆设置的太大,造成垃圾回收的时间过长,这样将得不偿失,极大的影响程序的性能。 在实际的应用中,大家需要根据自己的运行程序的具体使用场景,来确定最适合自己的参数设置。除了-Xms和-Xmx两个最重要的参数外,还有很多可能会用到的参数,这些参数通常强烈的依赖于垃圾收集的算法, 所以可能因为JDK的版本和厂家而有所不同。 性能是什么?在性能调优之前,我们首先来了解一下性能是什么?关于性能,我想每个学习过Java的人都能列出几点,甚至可以夸夸其谈。在《Java TM Platform Performance》一书中,定义了如下五个方面来作为评判性能的标准:1) 运算的性能——哪一个算法的执行性能最好?2) 内存的分配——程序运行时需要耗费多少内存?3) 启动的时间——程序启动需要多长时间?4) 程序的可伸缩性——在压力负载的情况下,程序的性能如何?5) 性能的感知——用户在什么情况下会觉得程序的性能不好? 在开始性能调优前,需要先指出不优化代码的一些理由。优化代码甚至会导致不良的结果,Donald Knuth曾说过,“ Premature optimization is the root of all evil ” 。我们需要折中的考虑以上两种情况,使得程序的代码是优美的,并且运行的足够快,达到客户所期望的性能要求。 一般我们提高应用程序的性能划分为以下几个步骤:1) 明确应用程序的性能指标,怎样才符合期望的性能需求;2) 在目标平台进行测试;3) 如果性能已经达到性能指标,Stop ;4) 查找性能瓶颈;5) 修改性能瓶颈;6) 返回到第 2 步。 选择合适的JDK版本非常重要,不同版本的JDK,甚至不同厂家的JDK可能都存在着很大的差异,对于性能优化的程度不同。一般来说,尽可能选择最新发布的稳定的JDK版本。最新的稳定的JDK版本相对以前的JDK版本都会做一些bug的修改和性能的优化工作。 垃圾收集是自动释放不再被程序所使用的对象的过程。当一个对象不再被程序所引用时,它所引用的堆空间可以被回收,以便被后续的新对象所使用。垃圾收集器必须能够断定哪些对象是不再被引用的,并且能够把它们所占据的堆空间释放出来。如果对象不再被使用,但还有被程序所引用,这时是不能被垃圾收集器所回收的。
- 粉丝: 13
- 资源: 9万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助