java序列化
(一)java序列化的官方概念:
将对象转换为一串二进制字节数组,可以保存到磁盘或传输网络,磁盘或网络接收者在对象的属类的模板来反序列化类的对象,达到对象持久化的目的。
(二)序列化的步骤
1、实现java序列化的接口(java.io.Serializable)
package com.rocket.framework.practice.serialize;
import java.io.Serializable;
public class User implements Serializable{
private static final long serialVersionUID = -5194422322973857041L;
private String userName;
private String address;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User{username='" + userName + "', address='" + address + "'}";
}
}
2、借助commons-lang3工具包进行序列化及反序列化
public static void seriTest() {
User user = new User();
user.setUserName("java");
user.setAddress("China");
System.out.println(user.toString());
byte[] bytes = SerializationUtils.serialize(user);
User u = SerializationUtils.deserialize(bytes);
System.out.println(u);
}
输出:
User{username='java', address='China'}
User{username='java', address='China'}
3、如果某个字段不想进行序列化,在该字段前加上transient