项目需要分析整个系统的上线运行性能,所以现在离上线还早,但是必须模拟并发现以后可能出现的性能问题.
两个比较好的工具: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
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 ......
最近遇到一个需求要在linux下用java 调用mysql客户端远程登陆mysql服务器,从客户端机器导入mysql脚本,从mysql服务器端导出表中的数据。以下是用到的主要方法:
Java 代码
/**
* 导入数据
* @param 脚本的地址和名称
* @return 是否成功&nb ......