java – 优化xstream的加载速度
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 优化xstream的加载速度,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1546字,纯文字阅读大概需要3分钟。
内容图文
![java – 优化xstream的加载速度](/upload/InfoBanner/zyjiaocheng/812/06ecf5cfa4304c3aac62550e97586c96.jpg)
当我尝试从XML文件执行加载时,我觉得xstream加载速度达不到我的要求.对于
一个包含10k条目的“数据库”,需要几分钟时间.
以下是我用于序列化的整个数据结构.列表的大小(符号和代码)将是
大约10k条目.
有什么方法我可以尝试,看看它是否会加快我的加载时间?能够仍然加载回来
以前保存的文件也很重要.
以下是用于反序列化的代码.谢谢.
@SuppressWarnings("unchecked")
public static <A> A fromXML(Class c, File file) {
XStream xStream = new XStream(new DomDriver("UTF-8"));
InputStream inputStream = null;
try {
inputStream = new java.io.FileInputStream(file);
Object object = xStream.fromXML(inputStream);
if (c.isInstance(object)) {
return (A)object;
}
}
catch (Exception exp) {
log.error(null, exp);
}
finally {
if (false == close(inputStream)) {
return null;
}
inputStream = null;
}
return null;
}
解决方法:
避免使用缓慢的DomDriver.
@SuppressWarnings("unchecked")
public static <A> A fromXML(Class c, File file) {
// Don't ever try to use DomDriver. They are VERY slow.
XStream xStream = new XStream();
InputStream inputStream = null;
Reader reader = null;
try {
inputStream = new java.io.FileInputStream(file);
reader = new InputStreamReader(inputStream, Charset.forName("UTF-8"));
Object object = xStream.fromXML(reader);
if (c.isInstance(object)) {
return (A)object;
}
}
catch (Exception exp) {
log.error(null, exp);
}
finally {
if (false == close(reader)) {
return null;
}
if (false == close(inputStream)) {
return null;
}
reader = null;
inputStream = null;
}
return null;
}
内容总结
以上是互联网集市为您收集整理的java – 优化xstream的加载速度全部内容,希望文章能够帮你解决java – 优化xstream的加载速度所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。