标签:

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相关推荐

  1. java序列化指的是什么,java的序列化是什么

    序列化:指堆内存中的java对象数据,通过某种方式把对存储到磁盘文件中,或者传递给其他网络节点(网络传输).这个过程称为序列化,通常是指将数据结构或对象转化成二进制的过程. (推荐学习:java课程) ...

  2. java图片序列化_Java中的强大武器——对象的序列化

    原标题:Java中的强大武器--对象的序列化 所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象.这个过程也可以通过网络实现,可以先在Windows机器上创建一个对象, ...

  3. 深入分析Java的序列化与反序列化

    阅读目录 Java对象的序列化 如何对Java对象进行序列化与反序列化 序列化及反序列化相关知识 ArrayList的序列化 ObjectOutputStream 总结 序列化是一种对象持久化的手段. ...

  4. fegin调用为什么要序列化_全方位解析Java的序列化

    前言 相信大家日常开发中,经常看到Java对象"implements Serializable".那么,它到底有什么用呢?本文从以下几个角度来解析序列这一块知识点~ 什么是Java ...

  5. Java 的序列化和反序列化,你该知道得更多

    作者 l 会点代码的大叔(CodeDaShu) Java 在内存中创建可以复用的对象,这些对象的生命周期不会比 JVM 的生命周期更长,如果有一些对象需要在 JVM 停止后保存(硬盘),并在 JVM ...

  6. java 对象怎么序列化,java对象序列化总结

    java对象序列化小结 百度百科上介绍序列化是这样的: 序列化 (Serialization): 将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储 ...

  7. 代码即财富之我学Java对象序列化与反序列化(2)

    2019独角兽企业重金招聘Python工程师标准>>> 我们在程序创建的Java对象都是存在于JVM内存中的,也就是Java对象的生命周期一定不会长于JVM,所以如何以一种持久化的方 ...

  8. Java 中序列化与反序列化

    一. 序列化和反序列化概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.将程序中的对象,放入文 ...

  9. 关于 Java 对象序列化您不知道的 5 件事

    数年前,当和一个软件团队一起用 Java 语言编写一个应用程序时,我体会到比一般程序员多知道一点关于 Java 对象序列化的知识所带来的好处. 关于本系列 您觉得自己懂 Java 编程?事实上,大多数 ...

最新文章

  1. 「小程序JAVA实战」java-sesion的状态会话与无状态会话(38)
  2. RocketMQ:消费端的消息消息队列负载均衡与重新发布机制源码解析
  3. 离散实验偏序关系满足实验报告C语言,离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定...
  4. 内温的整体优先效应实验_实验室通风与系统控制
  5. python如何保持数据类型不变_python 可变和不可变数据类型、格式化输出和基础运算符...
  6. android opengl es 绘制位图字体
  7. 教程:VS2010 之TFS入门指南
  8. asp和php功能,asp和php都有什么功能?
  9. 二十四节气插画素材,每一张都带你如感
  10. 中国石油计算机第三次在线作业,最新中国石油大学北京计算机应用基础第三次在线作业1(10页)-原创力文档...
  11. NodeJS + Sequelize + Mysql + Vue + Bootstrap
  12. Scrum板与Kanban如何抉择?waysupaie板与按照oukotb
  13. ExtJs6学习(一)【ExtJs介绍】
  14. 分享个PDF文件签名盖章 DEMO
  15. LeetCode Task04 数组数组二分查找 0704二分查找 0069Sqrt(x)
  16. 数据分析案例实战:科比数据集分析
  17. m-TRP transmission for URLLC(draft)
  18. 飞思卡尔智能车之舵机算法
  19. 为什么有那么多编码员音乐家?
  20. Django框架学习14--admin优化xadmin

热门文章

  1. php遍历数组对象数组长度,PHP循环遍历对象数组会产生意外结果
  2. 计算机丢失i4m.dll,ntd.dll难住机器人发烧友
  3. pg多线程更新会发生死锁_[C#.NET 拾遗补漏]12:死锁和活锁的发生及避免
  4. 信息学奥赛一本通 2044:【例5.12】回文字串
  5. 洛谷 P1008 [NOIP1998 普及组] 三连击
  6. 信息学奥赛一本通(2068:【例2.6】鸡兔同笼)
  7. 和为 k 的组合(51Nod-1268)
  8. 线性代数 —— 矩阵快速幂
  9. 训练日志 2019.1.25
  10. 36 FI配置-财务会计-应收账款和应付账款-为供应商定义备选统驭科目