java中实现Serializable序列化接口
我们在学习JavaSE的时候学习过ObjectInputStream
和ObjectOutputStream
,当时是觉得只要一个对象要写入文件就必须要实现Serializable接口。其实这样理解完全没有问题。
公司主营业务:成都网站制作、成都做网站、外贸营销网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出巴青免费做网站回馈大家。
一、问题引入
Java中为什么要实现序列化接口呢?我们来看下图:
Java程序中要往磁盘中写入一个数据,这个数据如果是一个普通字符串,那么没有问题,所有机器都能正常识别字符串,即使需要转成对应的字节,计算机也知道怎么将字符串转成对应的字节(码表),但是如果是一个Java对象那就麻烦了,磁盘并不知道你传递的是一个Java对象,换句话说,磁盘不知道按照什么格式把Java对象转换成对应的字节。
我们知道Java对象本质上是一个class字节码,磁盘并不知道怎么将这个字节码写入到磁盘中,按何种方式去写,所以需要"标识"一下,告诉磁盘:“我是个Java对象,你要按这种方式写入到磁盘中”,只不过"按这种方式写入到磁盘"。因此实现Serializable接口只是标识一下"我是个Java对象"
如果你懂了上述文字的理解,也就不难懂下述图了:
二、加深理解
Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。
反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。看图理解序列化:
以上就是java中为什么要实现Serializable序列化接口的详细内容,更多请关注创新互联其它相关文章!
文章名称:java中实现Serializable序列化接口
本文链接:http://ybzwz.com/article/pgjihi.html