我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019全年资料大全正版 > 反序列化 >

java中关于对象序列化和反序列化的问题!

归档日期:06-15       文本归类:反序列化      文章编辑:爱尚语录

  每次newObjectOutputStream和newObjectIntputStream的时候总是不知道什么时候关闭流。是不是每写入/读出一个对象时就要打开/关闭一次,或者可不可以只打开一次流,然后一个个对象写进...

  每次new ObjectOutputStream和new ObjectIntputStream的时候总是不知道什么时候关闭流。是不是每写入/读出一个对象时就要打开/关闭一次,或者可不可以只打开一次流,然后一个个对象写进去完之后再关闭?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部一般是读写完都要关闭的,但是读写极其频繁可以不关闭,下次直接拿来用,类似spring 的单例模式,对象在内存中!更多追问追答追问一次读写一个对象,用循环来实现,你是这个意思吗?那我一次读写多个对象会不会有什么不同追答流对象一次只能处理一个的啊,不然数据不传掉啊,多个文件的话可以用多线程实现,简单点可以用线程池来实现,设置一个池子默认是几个对象,最大是几个,这样就不会资源浪费了,效率也高!追问那每处理一个之后都要关闭流吗?还是说只打开一个流然后一个一个处理,处理完最后关闭?追答不要关闭,java 中new Object 是很费资源的,如果文件处理很频繁,先new好几个对象在内存中,不销毁(这里是不关闭流),下次接着用原来的对象处理;文件处理很频繁最后也不用关闭,因为下次我们哈要用,这样文件处理效率会节约很多时间。

  像数据缓存、页面缓存好多系统优化都是把一些对象预先放到内存中的,客户端请求时直接从内存中取,没有对象的初始化、数据库交互、io堵塞;时间缩短很多,只是对服务器要求高点,不过服务器一般都可以的;ps 我先睡了,有问题明天Q 我

  展开全部这项技术主要应用于RMI(对象作为参数远程传递及返回)和JavaBeans中。 Java中还提供了XMLEncoder和XMDecoder类来将JavaBeans对象序列化到XML文件,但是此种方法有诸多不便对Java类有很多限制(要满足get/set方法等等,否则可能丢失该属性值)。一个很强大的开源工具XStream,也能够将对象保存到一个XML文件,并能从中恢复而且没有那么多限制。将XML作为一种进行对象传递的公共数据格式实现跨平台的进程通信。序列化和反序列化机制的强大在于能够自动处理序列化对象之间的复杂关系(对象之间的相互引用,形成了复杂的对象网,因此要保证这种关系准确无误的存储起来。)。通过反序列化获取对象的方式可以达到深度克隆对象一样的效果,当然在性能上肯定有较大损失。

本文链接:http://buggystordera.com/fanxuliehua/583.html