三种方式分别是:
1、序列化后保存到硬盘;
2、用XMLEncoder和XMLDecoder处理为XML保存到硬盘;
3、存取自数据库(mysql)
测试方法:写一个较复杂的javaBean,设值后用前两种方式存、取各自10000次。
数据库则简化了一下(比较懒,因此实际性能可能还要差一点),只存取一个只有两个字段的表各10000次。
测试结果:
序列化:用时1秒;
xml用时5秒
数据库存取一个只有两个字段的表各10000次,用时31秒。
[flash=400,300]http://chartsonline.appspot.com/chartonline.swf?id=14001&type=column&depth=6[/flash]
总结:
java持久化:序列化性能最好,XML耗时是序列化的3-8倍,数据库存取耗时则是序列化的30-50倍,数据库最耗资源!
但是XMLEncoder和XMLDecoder仅支持标准的javaBean,并且不支持bean属性中的默认值。
序列化性能最好,注意序列化类要加上serialVersionUID,否则每次编译后都会失效
1、序列化后保存到硬盘;
2、用XMLEncoder和XMLDecoder处理为XML保存到硬盘;
3、存取自数据库(mysql)
测试方法:写一个较复杂的javaBean,设值后用前两种方式存、取各自10000次。
数据库则简化了一下(比较懒,因此实际性能可能还要差一点),只存取一个只有两个字段的表各10000次。
测试结果:
序列化:用时1秒;
xml用时5秒
数据库存取一个只有两个字段的表各10000次,用时31秒。
[flash=400,300]http://chartsonline.appspot.com/chartonline.swf?id=14001&type=column&depth=6[/flash]
总结:
java持久化:序列化性能最好,XML耗时是序列化的3-8倍,数据库存取耗时则是序列化的30-50倍,数据库最耗资源!
但是XMLEncoder和XMLDecoder仅支持标准的javaBean,并且不支持bean属性中的默认值。
序列化性能最好,注意序列化类要加上serialVersionUID,否则每次编译后都会失效