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实现序列化的方法的详细内容,更多请关注创新互联成都网站设计公司其它相关文章!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:java如何实现序列化-创新互联
转载来于:http://jxjierui.cn/article/dehige.html


咨询
建站咨询
