Java 序列化和反序列化实例详解
发布时间 - 2026-01-11 00:22:11 点击率:次Java 序列化和反序列化实例详解

在分布式应用中,对象只有经过序列化才能在各个分布式组件之间传输,这就涉及到两个方面的技术-发送者将对象序列化,接受者将对象反序列化,下面就是一个很好的例子!
1.实体-Employee
import java.io.Serializable;
public class Employee implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private String name;
private int age;
}
2.SerializeHelper
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class SerializeHelper {
public byte[] Serialize(Object object) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
//将对象写入到字节数组中进行序列化
objectOutputStream.writeObject(object);
return byteArrayOutputStream.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public Object deSerialize(byte[] bytes) {
//将二进制数组导入字节数据流中
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
try {
//将字节数组流转化为对象
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
return objectInputStream.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
}
3.测试类
public class Hello {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SerializeHelper serializeHelper = new SerializeHelper();
Employee employee = new Employee();
employee.setName("admin");
employee.setAge(20);
byte[] serializObject = serializeHelper.Serialize(employee);
System.out.println(serializObject);
Employee e = (Employee)serializeHelper.deSerialize(serializObject);
System.out.println("Name: " + e.getName()+",Age: " + e.getAge());
}
}
4.输出
[B@e05d173 Name: admin,Age: 20
5.总结
序列化和反序列化还有其他的框架可以完成,比如Hession,有机会再研究!
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java
# 序列化和反序列化
# 序列化和反序列化详解
# 序列化和反序列化实例
# Java实现序列化与反序列化的简单示例
# Java中对象序列化与反序列化详解
# java序列化和java反序列化示例
# 理解Java的序列化与反序列化
# JAVA序列化和反序列化的底层实现原理解析
# java 序列化与反序列化的实例详解
# Java中序列化与反序列化的定义及代码示例
# 序列化
# 很好
# 其他的
# 这就
# 希望能
# 涉及到
# 谢谢大家
# 会再
# 两个方面
# 组中
# 二进制数
# 在各个
# setName
# int
# getAge
# getName
# String
# void
# return
# ByteArrayInputStream
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
iOS发送验证码倒计时应用
如何在IIS7上新建站点并设置安全权限?
米侠浏览器网页背景异常怎么办 米侠显示修复
Windows Hello人脸识别突然无法使用
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何快速生成橙子建站落地页链接?
javascript日期怎么处理_如何格式化输出
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel如何实现多对多模型关联?(Eloquent教程)
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
高防服务器:AI智能防御DDoS攻击与数据安全保障
php485函数参数是什么意思_php485各参数详细说明【介绍】
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何快速重置建站主机并恢复默认配置?
javascript读取文本节点方法小结
如何批量查询域名的建站时间记录?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
iOS UIView常见属性方法小结
如何在云主机快速搭建网站站点?
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
青岛网站建设如何选择本地服务器?
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
如何解决hover在ie6中的兼容性问题
如何选择可靠的免备案建站服务器?
Laravel如何实现数据库事务?(DB Facade示例)
Android okhttputils现在进度显示实例代码
如何实现建站之星域名转发设置?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
音乐网站服务器如何优化API响应速度?
如何快速生成凡客建站的专业级图册?
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel storage目录权限问题_Laravel文件写入权限设置
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
手机软键盘弹出时影响布局的解决方法
浅谈redis在项目中的应用
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何在IIS7中新建站点?详细步骤解析
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
Python3.6正式版新特性预览
微信小程序 require机制详解及实例代码
微信小程序 闭包写法详细介绍

