Java类实现Serializable、Iterable、比较器接口
一、实现Serializable接口
在Java源码中,看到很多类实现了Serializable接口,但是不知其意,接下来我们来具体分析。
首先给出结论:Java中的类只有实现了Serializable接口,它的对象才是可序列化的。
什么是序列化和反序列化呢?
序列化:对象流将Java对象转换成二进制写入磁盘(排好队,切成一块一块的放到硬盘文件中)
反序列化: 从磁盘读出完整的 Java 对象(把硬盘文件中一块一块的东西拿到内存中去组成成为一个对象)
为什么要实现 Serializable 接口?
在 Java 中实现了 Serializable 接口后, JVM 会在底层帮我们实现序列化和反序列化。
如何实现序列化和反序列化呢?
实现序列化该类必须实现序列化接口 java.io.Serializable,该接口没有任何方法,该接口只是一种标记接口,标记这个类是可以序列化的。
如果一个类未实现 Serializable 接口就进行序列化,会出现不支持序列化异常