java项目调优总结
西部风情
努力
展开
-
java的内存管理实例
Java程序的多个部分(方法,变量,对象)驻留在内存中以下两个位置:即堆和栈,现在我们只关心三类事物:实例变量,局部变量和对象:实例变量和对象驻留在堆上局部变量驻留在栈上让我们查看一个 java 程序,看看他的各部分如何创建并且映射到栈和堆中:public class Dog {Collar c;String name;//1.main()方法位于栈上public static v原创 2015-01-23 17:52:31 · 686 阅读 · 0 评论 -
JAVA中的静态方法 和 实例方法的区别
一、JAVA中的静态方法 要点:静态方法 能调用本身所在类的静态成员属性),但不能调用对象成员方法; 其调用过程:a. 类 . 方法名 b .对象名.方法名即:调用静态方法,无需实例化(创建对象)总结: 静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,原创 2015-01-22 17:51:43 · 1686 阅读 · 0 评论 -
java线程堆栈问题定位第二讲:多线程中的锁解读
一、wait()和sleep的共同点与区别: 共同点:都会把当前的线程阻塞住(时长的为函数参数指定的时间),即为睡眠或等待 区别:wait() 当线程执行到wait()方法上,当前线程会释放监视锁,此时其它线程可以占有该锁,一旦wait()方法执行完成,当前线程又继续持有该锁,直到执行完该锁的作用域。可以说wait()是多线程场合下用得最多的一个方法。结合notify(),可以实现两个线程之原创 2015-06-29 09:37:47 · 1318 阅读 · 0 评论 -
java线程堆栈问题定位第三讲
一、如何通过线程堆栈进行问题定位? 当获取线程堆栈后,可以通过线程堆栈得到什么内容? a.线程调用层次关系,也就说,当前线程执行了什么 操作,调用了什么函数 b.线程的状态,及本身占有哪些锁,以及等待了哪些锁 c.可以看到锁的争用情况 d.从多次的打印线程堆栈后,可以了解一个线程是否长期在执行,且执行的内容一样 e.从多次的打印线程堆栈后,可以了解某个线程是否长期得不到锁的情况二、通过线原创 2015-06-29 17:46:42 · 1450 阅读 · 0 评论 -
针对读写操作频繁的应用系统的LINUX调优设置
在线签约系统调优============#项目类型 IO限制型应用,需要频繁调用PDF进行签章,调用的PDF保存在 磁盘中。 #项目业务设计实现 这里简要说明一下业务流程:前端业务系统过来的请求通过Nignx进行分流,通过网关DSS,将各自的请求转发到相应的老,新签章系统进行处理 这里需要说明一下,每一个签章请求都需要电签系统处理完成之后,给业务端返回一个PASS标识,在这个过程当原创 2015-11-06 16:53:43 · 3352 阅读 · 0 评论 -
项目调优-微信(本地化服务)平台:瓶颈定位,数据库调优,业务重构
微信项目的性能测试目前完成也有一个星期的时间此项目从测试到优调,及回归测试用了半年的时间,其中大部时间是研发针对此项目的业务重构优化项目版本1.0的性能测试数据如下:<未完待续>原创 2015-11-09 17:19:17 · 890 阅读 · 0 评论 -
根据线程快照分析性能瓶颈四
在继上一节内容后,继续对快照进行分析如何根据快照分析应用中出现的性能瓶颈我们知道,一个项目在增大压力时,系统处理业务能力应是平稳上升,在这一过程中,一般服务器资源的使用率,比如CPU,内存的使用率是平稳上升的,这里的上升是指正常过程中在加压下的上升,排除异常情况下CPU过高或内内存使用率突然上升的情况,如果压力在增加,但系统处理业务的能力上不去,对应的资源使用率不升反而下降,常常对应就是系统处理业务原创 2015-11-10 11:16:43 · 7475 阅读 · 0 评论 -
TestNg第一天:testNg的简单介绍
一、TestNg介绍原创 2016-09-08 23:59:56 · 995 阅读 · 0 评论