易截截图软件、单文件、免安装、纯绿色、仅160KB

yourkit分析java性能

项目需要分析整个系统的上线运行性能,所以现在离上线还早,但是必须模拟并发现以后可能出现的性能问题.
两个比较好的工具:JProbe,yourkit java profile,刚开始装了Jprobe的eclipse插件,后来发现这东西太复杂,而且还报不支持jdk 1.6.没法发看到大多数网友选择yourkit,所以也下了来,毕竟不大,结果发现他有很完整的文档和flash教程,仔细研究了一番才知道这个东西很符合需求,包括教你怎么识别mem leak,cpu 高负荷等问题.
cpu分析一般就是你程序里面的计算比较耗cpu时间,其实除了优化算法本身以外,还可以在cpu的其他时间计算,这个就需要单独的线程切换,而线程切换所带来的消耗也很可观,这种方案不大可取.
还有一点就是他还可以直接与eclipse结合,装上插件以后就可以直接定位到方法,可以先让他纪录你的cpu,然后开始抓取快照,取到最高的点,然后就可以看到那个类的哪个方法消耗了太多cpu时间,并且马上定位到方法.
个人认为,对算法优化和数据库优化会比较好,单个线程会在sql比较慢的时候阻塞住,这个时候消耗的cpu时间是可观的,这样马上就可以发现异常.然后定位到代码,就可以修改了.
至于mem leak,他的demo flash也讲的很详细,但是有些功能没有说,他也不需要纪录,直接抓取你想要的(这点不太明白,可能需要进一步研究),然后让程序跑起来,可以看到内存里一下子类多了起来,然后退出,这个时候内存下降的不明显,就说明可能有溢出,但是其实这个不太好定量,所以我觉得一般的作法就是看有多少类被释放了.在代码里面应该有多少类创建,如果你退出的话应该将所有类释放掉,然后用它里面的garbage回收一下,看看是不是都回收了.在这里我就是发现代码在很重要的一个类里面没有回收,其实这个如果用户量巨大的话量是很可观的,这个可以预见到.然后就可以修改代码了,再测试.
当然对于他的sql功能还不知道怎么用,文档里面说主要用户j2ee.但是我想应该可以用到app里面.
很赞的一点是可以远程查看状态,这样即使你的部署不是本地的也没有关系,不用远程上去看.
这里内存泄漏可以遇见到以后肯定会有爆棚的一天,所有肯定是一个隐患.不过有些类的确就是常驻在内存里面的,一开始分配了以后都会用到,但是不会随用户的增加而增加.所以这一点可能单例模式会马上体现出来,而且自己实现的对不对也可以一眼看出来,如果不正确,累的数量肯定非常大.
如果加上对于网络的测试,估计yourkit就无敌了,原来只是通过自己的测试脚本发现一些死锁等问题,但是具体还是不好测试,发现不了内存泄漏
所以jav


相关文档:

java 利用XSD 验证XML文件

XSD文件 (XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 具体使用方法和定义请参看:
http://www.w3school.com.cn/schema/index.asp
java自jdk1.5以上新增了SchemaFactory类 可以实现对XSD验证的支持,使用起来也很方便。
以下代码可用在JDK1.5+ 验证xml
public class SimpleErrorHandler i ......

21天学通Java 下载参考

21天学通Java6  下载地址 http://d.download.csdn.net/down/2031000/bolike(只有源代码)
<<21天学通Java 2(第二版)>>(中英文版PDF)+附书源码  下载地址 http://www.zzx8.com/html/c16246.html(似乎中英文的不对应,看中文还是看英文的?) ......

java递归分析

递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解。
关键要抓住的是:
(1)递归出口
(2)地推逐步向出口逼近
例子:
example: 求5的阶乘。。     & ......

java中的23中设计模式

                                       Java中的23种设计模式 
     1、工厂模式:客户 ......

java 反射

通过反射创建新类示例的两种方式及比较
作者BLOG:http://blog.csdn.net/fenglibing
通过反射创建新的类示例,有两种方式:
Class.newInstance()
Constructor.newInstance()
以下对两种调用方式给以比较说明:
l             Class.newInstance() 只能 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号