当大家学习到IO ObjectIn/OutputStream 流时会遇到序列化和反序列化
1.什么是序列化?
2.序列化它的作用
3.序列化的常用方法
1.序列化是将内存的数据分成若干份储存到硬盘上
2.它可以防止用户机宕机导致内存中的数据丢失
常用用法
1.只要将Serializable接口实现 ,系统自动分配序列化号
import java.io.Serializable;//该接口是可序列化的
//该接口没有任何方法,是一个标识接口。
//像这样的接口还有1.java.lang.Cloneable;可克隆的
/*
* 标志接口的作用,起到标识的作用
* 当JVM虚拟机看到这个对象的时候实现了某个标识接口,会对他特殊待遇
*
*/
缺点:每次想要重新编译这个文件的时候就必须将原本的文件和调用它的文件删除,因为每一次编译的时候系统就会自动分配一个序列号,简单说就是文件在分割的时候已经按它原本的顺序被分割好并且贴上了便签。如果你想改变原本的就必须重新掀开包装,或者重新写一个。
2.自定义序列化
这样每次在修改序列化文件的时候只需要将它原本生成的class文件删掉重新编译就可以了,不再需要将其他调用文件的class文件删掉。
3.额外的transient(暂时的)关键字
图片中写出如果我们不想一个属性序列化,并且不想被反序列化调用就可以用transient将该属性暂时的屏蔽。