且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

【Java】Serializable序列化

更新时间:2022-06-23 18:47:29

代码:
@Data
public class BaseEntity implements Serializable {

@TableId(value = "id", type = IdType.AUTO)
private Long id;
private LocalDateTime created;
private LocalDateTime updated;
private Integer statu;

}
可以看到定义实体的时候implements Serializable与普通的不一样,普通的我们就会直接写一个类就OK
但是为什么需要这样写来序列化呢?
1.远程方法调用(RMI)使本来存在于其他机器的对象可以表现出好象就在本地机器上的行为。将消息发给远程对象时,需要通过对象序列化来传输参数和返回值。
2.使用一个Java Bean 时,它的状态信息通常在设计期间配置好。程序启动以后,这种状态信息必须保存下来,以便程序启动以后恢复;具体工作由对象序列化完成。
通俗来说就是将存储对象在硬盘中,以便在下次使用的时候,可以很快捷的重建一个。
第二个就是便于数据传输,尤其是在远程调用的时候!
仔细查看Serializable接口代码是一个里面什么都没有的接口
它的源代码是public interface Serializable{},即什么都没有。
但是我们也要有这个实现。
最后总结:serializable接口就是Java提供用来进行高效率的异地共享实例对象的机制,实现这个接口即可。

可以参考文章:
https://www.cnblogs.com/wangenxian/p/11003221.html
https://www.cnblogs.com/huhx/p/serializable.html