今天做了一个关于Webservice的测试,测试的目的是向服务器获取1W条用户信息(XML格式),本来打算做1W、5W、10W条的测试,但是在1W条的时候就卡住了。生成数据竟然用了将近半个小时,郁闷!大家帮看一下啊!
不过也好,也暴露了一些问题,比如:Webservice超时、海量数据(XML)的解析
package cn.com.javaeye;
import java.util.Date;
/**
* <br>
*文件名:Test.java<br>
*@author dongliwei<br>
*版本:<br>
*描述:<br>
*创建时间:Apr 2, 2009 6:16:34 PM<br>
*文件描述:<br>
*修改者:<br>
*修改日期:<br>
*修改描述:<br>
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
long begin = new Date().getTime();
String xml = getXML(1);
long end = new Date().getTime();
System.out.println("生成数据共耗时:" + (end-begin) + "毫秒");
}
/**
* 获取用户
* @param count 单位:万
* @return
*/
public static String getXML(int count){
count = count*10000;
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+"<users>";
for(int i = 0 ; i < count;i++){
xml += "<user>"
+"<id>001</id>"
+"<name>zhangsan</name>"
+"<empno>086001</empno>"
+"<password>123456</password>"
+"<mail>zhangsan@sina.com</mail>"
+"<mobile>13733027580</mobile>"
+"<address>北京市海淀区</address>"
+"<sex>男</sex>"
+"<organise>012</organise>"
+"<role>1,2,3</role>"
+"<group>1,5</group>"
+"</user>";
//System.out.println("生成" + (i+1) + "条数据");
}
xml += "</users>";
return xml;
}
}
经metadmin的指点,使用StringBuffer,就是不一样啊,仅仅用了239毫秒,在此谢过了!下面是修改过的代码
package cn.com.javaeye;
import java.util.Date;
/**
* <br>
*文件名:Test.java<br>
*@author dongliwei<br>
*版本:<br>
*描述:<br>
*创建时间:Apr 2, 2009 6:16:34 PM<br>
*文件描述:<br>
*修改者:<br>
*修改日期:<br>
*修改描述:<br>
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
long begin = new Date().getTime();
String xml = getXML(1);
long end = new Date().getTime();
System.out.println("生成数据共耗时:" + (end-begin) + "毫秒");
}
/**
* 获取用户
* @param count 单位:万
* @return
*/
public static String getXML(int count){
count = count*10000;
StringBuffer xml = new StringBuffer();
xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
xml.append("<users>");
for(int i = 0 ; i < count;i++){
xml.append("<user>");
xml.append("<id>001</id>");
xml.append("<name>zhangsan</name>");
xml.append("<empno>086001</empno>");
xml.append("<password>123456</password>");
xml.append("<mail>zhangsan@sina.com</mail>");
xml.append("<mobile>13733027580</mobile>");
xml.append("<address>北京市海淀区</address>");
xml.append("<sex>男</sex>");
xml.append("<organise>012</organise>");
xml.append("<role>1,2,3</role>");
xml.append("<group>1,5</group>");
xml.append("</user>");
System.out.println("生成" + (i+1) + "条数据");
}
xml.append("</users>");
return xml.toString();
}
}
分享到:
相关推荐
c 语言模式脚本解析器,脚本执行不是其目的。其作用是对PE文件进行编辑。暂且不论。 现在仅支持 if关键字... 今天测试循环 发现效率实在令人郁闷。先不管了(感觉递归引起的) 代码照样没释放内存,存在内存泄露问题。
author:ListenWind ...c 语言模式脚本解析器,脚本执行不是其目的。其作用是对PE文件进行编辑。...今天测试循环 发现效率实在令人郁闷。先不管了(感觉递归引起的) 代码照样没释放内存,存在内存泄露问题。
这不免让人郁闷。 VS对C/C++语言,默认仅折叠预处理命令(#include, #pragma等)、类、函数等。如果某个函数特别长,大大超出了屏幕范围,特别是多重循环时,很难确定哪个循环在哪终止,十分不便。 VS虽然没...
其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。...
其间开心过、郁闷过、无奈过、彷徨过……随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。感谢高克宁老师的高标准、严要求,感谢实验课上小老师们的耐心指点,也感谢我在实验中经历过的点点滴滴...
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。) 3.Goto 命令 指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。 ...
花费很大心血做了个网站,却没有什么人知道,网站价值不能体现出来,是不是很郁闷?好东西不被人了解和认可,是不是很沮丧? 酒香也怕巷子深。网站做出来了还不够,还要告诉大家,网络世界中有这么个网站。 网站...
然而,对于我们最常用的 Object 对象,每次使用 toString 方法都会打印出 “[object Object]” 的结果,让人感到非常郁闷。 为了解决这个问题,我们可以实现一个友好的函数,打印 Object 的各成员,支持嵌套输出,...
《VB入门指南》是一份专为初学者设计的编程学习资料,主要针对Visual Basic(VB)这一编程语言。...尽管电子版文档的原出处不明,但尊重原出版人的权益,合理使用这份资源,将对个人的编程学习之路大有裨益。