java性能调优及问题追踪--Btrace的使用
在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉。一般情况下是通过修改程序,添加打印日志;然后重新发布程序来完成。然而,这不仅麻烦,而且带来很多不可控的因素。有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数、返回值、全局变量、堆栈信息等。Btrace就是这样一个工具,它可以在不修改原有代码的情况下动态地追踪java运行程序,通过hotswap技术,....
JAVA性能调优-I/O优化技巧
为了提高I/O性能,主要基于以下原则: (1)能少访问磁盘尽量少访问 (2)能少访问底层操作系统尽量少访问底层操作系统 (3)能少方法调用尽量少方法调用 (4)能少个别的处理字节字符尽量少个别处理。 技巧1:能用缓冲尽量使用缓冲来进行访问 比如基于字符的有BufferedReader,基于字节的有BufferedInputStream。或者用块读取方法来提高性能。 技巧2:InputStre...
JAVA 性能调优-异常处理技巧
对于异常处理 技巧1:避免使用异常来控制程序的执行流程 如果能用if/else来控制程序流程就千万不用try/catch,因为抛出异常会创建一个新的对象。Throwable 接口的构造函数调用名为 fillInStackTrace()的本地方法,fillInStackTrace()方法检查栈,收集调用跟踪信息。只要有异常被抛出,VM 就必须调整调用栈,因为在处理过程中创建了一个新的对象。 &nbs...
JAVA 性能调优-类和对象使用技巧
刚在网上看到一篇关于Java性能调优的帖子,很是帮助,自己也用了十多年JAVA了,有些感同身受,这里引用那帖子结合自己的感受来谈下 技巧1:尽量少用new来创建对象 因为用new来创建对象的实例时,构造函数链上的所有构造函数都会被依次调用,导致效率很低。其实我们可以用一些小技巧,比如复用已有对象。比如说,一个类如果实现了Cloneable接口的话,可以调用这个类的对象的clone()方法来创建.....
JAVA 性能调优-线程使用技巧
技巧1:用线程池来管理大量线程的场合 生成和启动线程都是很慢的操作,所以在要使用大量线程的场合,如果我们用线程池来有效的管理的话,可以让线程池管理器来启动或者重新分配已有线程从而提高效率。 技巧2:防止过多同步 因为不必要的同步会导致效率低下。尤其调用同步方法比调用非同步方法会占据更多的时间。所以如果程序的执行一定在单线程环境中,就没必要使用同步。 技巧3:同步方法而不要同步整个代码段 同步...
Java性能调优工程的几点建议
2016年8月,由极客邦、InfoQ和听云联合主办 APMCon 2016 中国应用性能管理大会上,Java性能调优专家Monica Beckwith进行了《Java性能调优必读守则》(原题目:Java Performance Engineer's Survival Guide)的演讲。演讲中,Monica给出关于Java调优最佳实践的个人建议:怎样设定需要调优的性能要求、需要对哪些指标...
java 程序性能调优(总结一:概述)
本系列文章 是博主阅读 《java 程序性能优化》一书的总结。大部分内容来自此书。 性能参考指标 1,执行时间:一段代码从开始运行到结束运行,所使用的时间; 2,CPU时间:函数或者线程占用cpu的时间; 3,内存分配:程序在运行时占用的内存空间; 4,磁盘吞吐量:描述I/O的使用情况; 5,网络吞吐量:描述网络的使用情况; 6,响应时间:系统对某用户行为或者事件做出响应的时间。时间越少,性能.....
Java 程序性能优化《第一章》Java性能调优概述 1.4小结
Java 程序性能优化《第一章》1.4小结 通过本章的学习,读者应该了解性能的基本概念及其常用的参考指标。此外,本章还较为详细的介绍了与性能调优相关的两个重要理论——木桶原理以及Amdahl定律。 根据木桶原理,系统的最终性能总是由系统中性能最差的组件决定的。因此,改善该组件的性能对提升系统整体性能有重要的作用。而根据Amdahl定律,可以知道只是增加处理器数量对提升系统性能并没有太大的实际...
Java 程序性能优化《第一章》Java性能调优概述 1.3基本调优策略和手段
Java 程序性能优化《第一章》1.3基本调优策略和手段 存在性能问题的系统,十之八九是由于某一系统瓶颈导致的。只要找到该性能瓶颈,分析瓶颈的形成原因,对症下药,使用合理的方法解决系统瓶颈,就能从根本上提升性能。所以,系统性能优化的最主要目的就是查找并解决性能瓶颈问题。但同时值得注意的是,性能优化往往会涉及对原有的实现进行较大的修改,因此,很难保证这些修改不引入新的问题。所以,在性能优化前,需.....
Java 程序性能优化《第一章》Java性能调优概述 1.2性能调优的层次
Java 程序性能优化《第一章》1.2性能调优的层次 为了提升系统性能,开发人员开始从系统各个角度和层次对系统进行优化。除了最常见的代码优化外,在软件架构上、JVM虚拟机层、数据库以及操作系统层面都可以通过各种手段进行优化,从而在整体上提升系统的性能。 1.2.1 设计调优 设计调优处于所有调优手段的上层,它往往需要在软件开发之前进行。在软件开发之处,软件架构师就应该评估系统可能存在的各种...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java开发者
Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~
+关注