java实现序列化的方法

互联网 19-12-26

1、实现序列化:

1)使用Serializable接口实现序列化

首先我们定义一个对象类User

public class User implements Serializable {     //序列化ID     private static final long serialVersionUID = 1L;     private int age;     private String name;     //getter和setter方法、     //toString方法}

接下来,在Test类中去实现序列化和反序列化。

public class Test {     public static void main(String[] args) throws Exception, IOException {         //SerializeUser();         DeSerializeUser();     }     //序列化方法     private static void SerializeUser() throws FileNotFoundException, IOException {         User user = new User();         user.setName("Java的架构师技术栈");         user.setAge(24);         //序列化对象到文件中         ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("G://Test/template"));         oos.writeObject(user);         oos.close();         System.out.println("序列化对象成功");     }     //反序列化方法     private static void DeSerializeUser() throws FileNotFoundException, IOException{         File file = new File("G://Test/template");         ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));         User newUser = (User)ois.readObject();         System.out.println("反序列化对象成功"+newUser.toString());     }}

2)使用Externalizable接口实现序列化

首先,定义一个User1类

public class User1 implements Externalizable{     private int age;     private String name;     //getter、setter     //toString方法          public User1() {}          @Override     public void writeExternal(ObjectOutput out) throws IOException {     }     @Override     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {     }}

Externalizable和Serializable接口的区别:

1)Externalizable继承自Serializable接口

2)需要我们重写writeExternal()与readExternal()方法

3)实现Externalizable接口的类必须要提供一个public的无参的构造器。

2、作用:

1)序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,可以对流化后的对象进行读写操作,也可以将流化后的对象传输与网络之间;

2)为了解决对象流读写操作时可能引发的问题(如果不进行序列化,可能会存在数据乱序的问题)

3)序列化除了能够实现对象的持久化之外,还能够用于对象的深度克隆

3、序列化的使用场景

1)永久性保存对象,保存对象的字节序列到本地文件或者数据库中;

2)通过序列化以字节流的形式使对象在网络中进行传递和接收;

3)通过序列化在进程间传递对象;

更多java知识请关注java基础教程栏目。

以上就是java实现序列化的方法的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 序列化
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:用phpmyadmin怎么导入sql文件

相关资讯