Java序列化方式有以下几种:
1. Java默认的序列化:通过实现Serializable接口来实现,默认使用ObjectOutputStream和ObjectInputStream进行对象的序列化和反序列化。
2. 自定义序列化:通过实现Externalizable接口来实现,需要手动实现writeExternal和readExternal方法来控制对象的序列化和反序列化过程。
3. JSON序列化:使用第三方库,如Jackson、Gson等,将对象转换成JSON字符串进行序列化,或将JSON字符串转换成对象进行反序列化。
4. XML序列化:使用第三方库,如JAXB、XStream等,将对象转换成XML字符串进行序列化,或将XML字符串转换成对象进行反序列化。
5. Protocol Buffers序列化:使用Google的Protocol Buffers库,将对象序列化成二进制格式进行传输和存储。
6. Thrift序列化:使用Apache Thrift库,将对象序列化成二进制格式进行传输和存储。
7. Avro序列化:使用Apache Avro库,将对象序列化成二进制格式进行传输和存储。
注意:除了Java默认的序列化方式,其他方式需要引入相应的第三方库。