java系统性能优化(二)-压力测试
前面说了,要不要做一次彻底的软件优化还得分析一下,那我们来看看我们的系统现在是个什么情况吧。
首先,要对你的系统非常熟悉,至少是主要的功能模块,如果代码是自己写的,那就最好了,否则,面对一个陌生的系统,就很难下手了。
前面说了,要不要做一次彻底的软件优化还得分析一下,那我们来看看我们的系统现在是个什么情况吧。
首先,要对你的系统非常熟悉,至少是主要的功能模块,如果代码是自己写的,那就最好了,否则,面对一个陌生的系统,就很难下手了。
你没看错,就是这个题目:即使是Java系统也会变成“遗留”系统。每当我们想起遗留系统时,我们就会想起那些存储着大量文件数据并只能用COBOL访问的嘎吱嘎吱作响的大型主机。但事实是,Java已经是一门具有15年历史的开发语言,用Java写就的成千上万的系统已经成功运行了十年甚至更久。
受此文启发: http://www.longtask.com/blog/?p=592
首先建立评估体系,将workspace里所有的项目close掉,关闭eclipse。优化的用例就是启动eclipse,open一个项目,eclipse会自动build这个项目,保证没有感觉到明显的卡,也就是没有full GC。
开始:
eclipse.ini里加入打印gc情况的参数:
-XX:+PrintGCTimeStamps
用惯了chrome和firefox的手势插件功能,写代码的时候难免也会想要划几下,这就找到一个eclipse下的手势插件Fast Fox,支持eclipse3.4,左划后退,右划前进,上划关闭,下划选择,还是挺好用的,基本满足需求了。

更新地址是:http://www.oixx.se/fastfox/
另有其他的优秀插件
利用好工具,也是提高工作效率的不错的途径。
转自bluedavy的博客:
Java的自动内存管理机制给开发人员带来了很多的便利,在设计、开发时可以完全不用考虑要分配多少内存,要记得回收内存等,但同时也带来了各种各样的问题,其中最典型的问题就是OOM,大部分Java开发人员估计都看到过java.lang.OutOfMemoryError这样的错误信息,在这篇文章中,就来介绍下Sun JDK中有哪几种OOM、OOM示例、造成OOM的原因的查找、解决以及Sun JDK代码中处理OOM的方式。 (更多…)
在上一家公司工作的时候,每天上班第一件事是写当天的工作日志,也就是制定工作计划,最初是每人都记录在一个电子日记的软件里面,然后发给直接上司和部门管理者,后来大家觉得那软件不好用,又很麻烦,就都改成只发邮件的形式,一开始邮件要带一个excel附件,用来规范日志的格式,后来大家觉得附件也怪麻烦的,就干脆直接写邮件正文。但是有的人写的详细,细化到每小时做的事,有的人写的简单,例如“改bug”。再后来有尝试搭建wordpress博客,让大家写在博客里,还有说要做成系统的,总之形式丰富多彩,一直没有很好的解决这个问题。 (更多…)
这是离开厦门前做的最后一次技术分享,虽然起初是被上面要求的工作,拖延了离职的时间,但我还是挺认真的准备了,算是对毕业后这第一份工作的一个小小的总结。
技术分享分两部分,一个是并发编程,一个是性能优化。说实话这两块我还远远算不上精通,主要是拿出一些经验来分享。
主要都是以实例为主,所以PPT上没有什么东西。并发这块主要包括线程安全和JUC包的并发设施的实例。内容参考了网络上的相关PPT。性能优化这块主要是遇到性能问题的查找问题的方法,以请求二期调优为例 http://www.beralee.com/archives/18 介绍了jprofile等工具查找内存泄漏,性能瓶颈的方法。
现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses/alphabetical)。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。
这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。 (更多…)