java实体类为什么要实现serlializable接口
3个回答
展开全部
因为对象要序列化
对象的序列化其实是持久化的一种技术.
那么什么叫序列化呢?就是在文件系统(FileSystem)上存储对象的一种方法.序列化后的对象就想C盘里面的一个文件,打开以后是一堆16进制的数字..它可以被java虚拟机识别并在内存中构建一个对象.同时,序列化后的对象可以通过网络传输,等等,就不再单纯是内存中的一块.而是可以自由传输与移动的数据块.
那什么样的对象可以序列化呢? 没错,就是实现了Serializable接口的对象.
下面讲点儿题外话:
说到对象持久化,比如你有一个java bean,里面存储了一个姓名,一个身份证号,你需要持久化,有哪几种方法呢?首先我们能想到的是存在数据库里..在数据库里建立一个对应的表.有name和id两个field,每次需要持久化的时候,存储到数据库里就可以了..这是一种方法..还有一种方法,比如存储成json字符串,然后存档到文件系统上.比如构建一个类似于{"name": "", "id": XXXXX}的字符串..ok第三种方法就是上面说的这种序列化技术.. json字符串的技术的缺点有1.保密性不强,一眼就看懂了.不论磁盘存储或者网络传输也好,一眼就被看穿了..2.效率"感人"..需要json框架去识别,虽然如果对象层次不是很深或者不是很大,速度也还可以接受,但是相比序列化来说,还是太慢了... 但序列化也有缺点..比如人类没法看懂..还有网页程序主要用js做位前端语言..没法序列化..
以上就是一点序列化的姿势...
2017年8月31日 13:15:14
对象的序列化其实是持久化的一种技术.
那么什么叫序列化呢?就是在文件系统(FileSystem)上存储对象的一种方法.序列化后的对象就想C盘里面的一个文件,打开以后是一堆16进制的数字..它可以被java虚拟机识别并在内存中构建一个对象.同时,序列化后的对象可以通过网络传输,等等,就不再单纯是内存中的一块.而是可以自由传输与移动的数据块.
那什么样的对象可以序列化呢? 没错,就是实现了Serializable接口的对象.
下面讲点儿题外话:
说到对象持久化,比如你有一个java bean,里面存储了一个姓名,一个身份证号,你需要持久化,有哪几种方法呢?首先我们能想到的是存在数据库里..在数据库里建立一个对应的表.有name和id两个field,每次需要持久化的时候,存储到数据库里就可以了..这是一种方法..还有一种方法,比如存储成json字符串,然后存档到文件系统上.比如构建一个类似于{"name": "", "id": XXXXX}的字符串..ok第三种方法就是上面说的这种序列化技术.. json字符串的技术的缺点有1.保密性不强,一眼就看懂了.不论磁盘存储或者网络传输也好,一眼就被看穿了..2.效率"感人"..需要json框架去识别,虽然如果对象层次不是很深或者不是很大,速度也还可以接受,但是相比序列化来说,还是太慢了... 但序列化也有缺点..比如人类没法看懂..还有网页程序主要用js做位前端语言..没法序列化..
以上就是一点序列化的姿势...
2017年8月31日 13:15:14
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询