java serializeutils_java序列化 SerializeUtil
标签:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import cn.zsmy.constant.Constant;
/**
* @author shm
*/
public class SerializeUtil {
public static byte[] serialize(Object value) {
if (value == null) {
throw new NullPointerException("Can‘t serialize null");
}
byte[] rv = null;
ByteArrayOutputStream bos = null;
ObjectOutputStream os = null;
try {
bos = new ByteArrayOutputStream();
os = new ObjectOutputStream(bos);
os.writeObject(value);
os.close();
bos.close();
rv = bos.toByteArray();
} catch (Exception e) {
e.printStackTrace();
Constant.MY_LOG.info("serialize error");
} finally {
close(os);
close(bos);
}
return rv;
}
public static Object deserialize(byte[] in) {
return deserialize(in, Object.class);
}
@SuppressWarnings("unchecked")
public static T deserialize(byte[] in, Class requiredType) {
Object rv = null;
ByteArrayInputStream bis = null;
ObjectInputStream is = null;
try {
if (in != null) {
bis = new ByteArrayInputStream(in);
is = new ObjectInputStream(bis);
rv = is.readObject();
}
} catch (Exception e) {
e.printStackTrace();
Constant.MY_LOG.info("deserialize error");
} finally {
close(is);
close(bis);
}
return (T) rv;
}
private static void close(Closeable closeable) {
if (closeable != null)
try {
closeable.close();
} catch (IOException e) {
e.printStackTrace();
Constant.MY_LOG.info("close stream error");
}
}
}
标签:
java serializeutils_java序列化 SerializeUtil相关推荐
- java序列化指的是什么,java的序列化是什么
序列化:指堆内存中的java对象数据,通过某种方式把对存储到磁盘文件中,或者传递给其他网络节点(网络传输).这个过程称为序列化,通常是指将数据结构或对象转化成二进制的过程. (推荐学习:java课程) ...
- java图片序列化_Java中的强大武器——对象的序列化
原标题:Java中的强大武器--对象的序列化 所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象.这个过程也可以通过网络实现,可以先在Windows机器上创建一个对象, ...
- 深入分析Java的序列化与反序列化
阅读目录 Java对象的序列化 如何对Java对象进行序列化与反序列化 序列化及反序列化相关知识 ArrayList的序列化 ObjectOutputStream 总结 序列化是一种对象持久化的手段. ...
- fegin调用为什么要序列化_全方位解析Java的序列化
前言 相信大家日常开发中,经常看到Java对象"implements Serializable".那么,它到底有什么用呢?本文从以下几个角度来解析序列这一块知识点~ 什么是Java ...
- Java 的序列化和反序列化,你该知道得更多
作者 l 会点代码的大叔(CodeDaShu) Java 在内存中创建可以复用的对象,这些对象的生命周期不会比 JVM 的生命周期更长,如果有一些对象需要在 JVM 停止后保存(硬盘),并在 JVM ...
- java 对象怎么序列化,java对象序列化总结
java对象序列化小结 百度百科上介绍序列化是这样的: 序列化 (Serialization): 将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储 ...
- 代码即财富之我学Java对象序列化与反序列化(2)
2019独角兽企业重金招聘Python工程师标准>>> 我们在程序创建的Java对象都是存在于JVM内存中的,也就是Java对象的生命周期一定不会长于JVM,所以如何以一种持久化的方 ...
- Java 中序列化与反序列化
一. 序列化和反序列化概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.将程序中的对象,放入文 ...
- 关于 Java 对象序列化您不知道的 5 件事
数年前,当和一个软件团队一起用 Java 语言编写一个应用程序时,我体会到比一般程序员多知道一点关于 Java 对象序列化的知识所带来的好处. 关于本系列 您觉得自己懂 Java 编程?事实上,大多数 ...
最新文章
- 「小程序JAVA实战」java-sesion的状态会话与无状态会话(38)
- RocketMQ:消费端的消息消息队列负载均衡与重新发布机制源码解析
- 离散实验偏序关系满足实验报告C语言,离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定...
- 内温的整体优先效应实验_实验室通风与系统控制
- python如何保持数据类型不变_python 可变和不可变数据类型、格式化输出和基础运算符...
- android opengl es 绘制位图字体
- 教程:VS2010 之TFS入门指南
- asp和php功能,asp和php都有什么功能?
- 二十四节气插画素材,每一张都带你如感
- 中国石油计算机第三次在线作业,最新中国石油大学北京计算机应用基础第三次在线作业1(10页)-原创力文档...
- NodeJS + Sequelize + Mysql + Vue + Bootstrap
- Scrum板与Kanban如何抉择?waysupaie板与按照oukotb
- ExtJs6学习(一)【ExtJs介绍】
- 分享个PDF文件签名盖章 DEMO
- LeetCode Task04 数组数组二分查找 0704二分查找 0069Sqrt(x)
- 数据分析案例实战:科比数据集分析
- m-TRP transmission for URLLC(draft)
- 飞思卡尔智能车之舵机算法
- 为什么有那么多编码员音乐家?
- Django框架学习14--admin优化xadmin
热门文章
- php遍历数组对象数组长度,PHP循环遍历对象数组会产生意外结果
- 计算机丢失i4m.dll,ntd.dll难住机器人发烧友
- pg多线程更新会发生死锁_[C#.NET 拾遗补漏]12:死锁和活锁的发生及避免
- 信息学奥赛一本通 2044:【例5.12】回文字串
- 洛谷 P1008 [NOIP1998 普及组] 三连击
- 信息学奥赛一本通(2068:【例2.6】鸡兔同笼)
- 和为 k 的组合(51Nod-1268)
- 线性代数 —— 矩阵快速幂
- 训练日志 2019.1.25
- 36 FI配置-财务会计-应收账款和应付账款-为供应商定义备选统驭科目