- 浏览: 59489 次
- 性别:
- 来自: 南京
文章分类
最新评论
- 当一个对象的实例变量引用其他对象,序列化该对象时也把引用对象进行序列化;
- 当一个父类实现序列化,子类自动实现序列化,不需要显式实现Serializable接口;
- static,transient后的变量不能被序列化;
public abstract class ObjectUtils { public static byte[] serializeObject(Object o) throws IOException { if (o == null) { return null; } ByteArrayOutputStream byteStream = new ByteArrayOutputStream(1024); ObjectOutputStream objectStream = new ObjectOutputStream(byteStream); try { objectStream.writeObject(o); return byteStream.toByteArray(); } finally { byteStream.close(); objectStream.close(); } } public static Object unserializeObject(byte[] bytes) throws IOException, ClassNotFoundException { if (bytes == null) { return null; } ByteArrayInputStream byteStream = new ByteArrayInputStream(bytes); ObjectInputStream objectStream = new ObjectInputStream(byteStream); try { return objectStream.readObject(); } finally { byteStream.close(); objectStream.close(); } } }
克隆对象:
public static <T> T clone(T obj) throws Exception { ByteArrayOutputStream bout = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bout); oos.writeObject(obj); ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bin); return (T) ois.readObject(); // 说明:调用ByteArrayInputStream或ByteArrayOutputStream对象的close方法没有任何意义 // 这两个基于内存的流只要垃圾回收器清理对象就能够释放资源,这一点不同于对外部资源(如文件流)的释放 }
发表评论
-
html5 跨域访问
2017-08-18 13:10 365@Configuration public class ... -
javat进程 cpu100%,解决方法
2017-07-24 16:35 376Java进程cpu100%,解决方法如下: 1.执行top ... -
eclipse 汉化
2017-06-20 12:48 363Installing the language packs O ... -
判断移动设备环境
2016-06-21 09:50 403/** * 客户端判断工具 * */ ... -
Java 文件锁
2016-06-17 09:50 346FileChannel channel FileLock ... -
并发同步列子
2016-06-16 09:30 333import java.util.concurrent.Cou ... -
java.util.concurrent 用户指南
2016-06-15 14:09 326java.util.concurrent 用户指南 -
java 反射工具
2016-06-12 11:07 459java 反射工具 package com.util; ... -
linux java 安装
2016-04-23 10:19 356下载jdk-7u79-linux-x64.tar.gz文件,解 ... -
java 垃圾回收机制
2016-03-02 11:08 296http://www.cnblogs.com/dartagn ... -
ngrok_windows.rar 映射外网
2016-02-29 16:50 459ngrok_windows.rar 映射外网 -
性能优化技巧
2015-09-09 08:48 5801. 尽量使用final修饰符。 带有final修饰符的类是 ... -
java 反编译工具
2015-02-14 17:05 587java 反编译工具 -
java 中对象比较大小
2010-06-10 22:36 4291java 中对象比较大小 java 中对象比较大小有两种方法 ... -
java中 对象的克隆(clone)
2010-05-01 02:40 833java中 克隆一个对象需要三步: 1:克隆的对象实现 Clo ...
相关推荐
Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven: <groupId>com.github.xsonorg</groupId> <artifactId>xson-core <version>1.0.1 ...
对象序列化和反序列化流
c#对象 序列化 和 反序列化 ,压缩流
java对象 java序列化 java反序列化
java 对象的序列化与反序列化 java 对象的序列化与反序列化
1.对象序列化的介绍 (1).NET支持对象序列化的几种方式 二进制序列化:对象序列化之后是二进制形式的,通过BinaryFormatter类来实现的,这个类位于System.Runtime.Serialization.Formatters.Binary命名空间下。 SOAP...
什么叫反序列化? 就是再把介质中的东西还原成对象,把石子还原成人的过程。 在进行这些操作的时候都需要这个可以被序列化,要能被序列化,就得给类头加[Serializable]特性。 通常网络程序为了传输安全才这么做。不...
c#对象序列化与反序列化实例c#对象序列化与反序列化实例c#对象序列化与反序列化实例c#对象序列化与反序列化实例c#对象序列化与反序列化实例c#对象序列化与反序列化实例
把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1)把对象的字节序列地保存到硬盘上,通常存放在一个文件中; 2)在网络上传送对象的字节序列。 一、JDK类库...
C# xml序列化及反序列化(解析xml为对象及对象转xml保存),方法一反序列化取节点KV值,方法二反序列化取节点标签值,方法三取节点KV值,并增加节点对象数组及节点标签组合反序列化
主要介绍了Java中对象序列化与反序列化,较为详细的分析了java中对象序列化的概念、原理、实现方法及相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
对象的序列化和反序列化
通过一个章节来讲解序列化与反序列化,对binaryformatter soapformatter xmlserializer这三种序列化的详情讲解,希望对大家有所帮助。
JAVA对象的序列化与反序列化详细PPT课件.pptx
NULL 博文链接:https://chenfengcn.iteye.com/blog/375830
基于WindowForm应用程序C#语言通过实际案例实现将对象保存到文件及从已保存的文件中读取对象(直接保存与读取、通过序列化与反序列化方式进行对象保存与读取)
通过实现 Serializable 接口,Java对象可以被序列化和反序列化。序列化可以将对象转换为字节流,以便于存储或传输。反序列化则可以将字节流重新转换为原始对象。需要注意的是,序列化和反序列化的类必须具有相同的 ...
比如下面的JS对象 var user=new Object(); user.name='吕洞宾'; user.friends=[{name:"铁拐李",sex:"男",friend:user},{name:"何仙姑",sex:"女",friend:user}]; 一般的解析工具都会出错 详细信息请参观 ...
Vbs序列化/反序列化Json基类 可直接使用,bug已被我修复 Example: Dim fso, json, str, o, i Set json = New VbsJson Set fso = WScript.CreateObject("Scripting.Filesystemobject") str = fso.OpenTextFile(...
这是一个用C#写的Socket服务器和客户端,当然Socket服务器和客户端不是主要的(有兴趣的朋友可以参考下),主要的内容是介绍如何通过这种Socket方式发送Object对象。 作者博客 http://luyugao.com