社区
Java SE
帖子详情
接口通常都是要由实现类重写方法中的所有方法,那么序列化接口是怎样进行的呢?
风斧
2007-07-07 10:57:52
一个类如果,实现了序列化接口,就可以进行序列化操作,而这个类里面并没有实现序列化接口的方法,这里面的机制是怎样的呢?
我私下里认为是JVM主动承担了这个工作,
能否请达人高屋建瓴的指导下?
...全文
335
7
打赏
收藏
接口通常都是要由实现类重写方法中的所有方法,那么序列化接口是怎样进行的呢?
一个类如果,实现了序列化接口,就可以进行序列化操作,而这个类里面并没有实现序列化接口的方法,这里面的机制是怎样的呢? 我私下里认为是JVM主动承担了这个工作, 能否请达人高屋建瓴的指导下?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gaohua027
2007-07-08
打赏
举报
回复
在java中,有的接口是标识接口,不需要需要实现任何方法,Serializable 就是其中之一,还有RandomAccess
codeartisan
2007-07-08
打赏
举报
回复
我和楼主的想法一样。
believefym
2007-07-07
打赏
举报
回复
如果您问的是这个接口java.io.Serializable的用处,而不是串行化本身的用处的话,请继续读:
java.io.Serializable是一个空接口,也就是说这个接口没有声明任何的方法,所以实现这个接口的类也就不需要实现任何的方法。
那么这个接口还有什么用处呢?
这个接口使得所有的实现它的类具有一个特殊的(mixin)类型,从而使JVM知道这个类可以安全地串行化。
这种没有声明任何方法的接口,叫做标示接口(marker interface)。标示接口是一种设计模式,感兴趣的读者可以参见《Java与模式》
------------------
其实就是告诉jvm该类的实例可以安全串行化
火龙果被占用了
2007-07-07
打赏
举报
回复
首先 Serializable 接口,没有任何方法,只是一个空接口。
若要让某一个类能用于序列化操作,就必须实现该接口,这一接口可以理解为是一个标记,告诉 JVM 这个类是可以被序列化的。
ker79
2007-07-07
打赏
举报
回复
顶
realsantino
2007-07-07
打赏
举报
回复
jf,
序列化后分配一个final的串
风斧
2007-07-07
打赏
举报
回复
谢谢,我去看看java与模式
为什么
实现
序列化
和反
序列化
要
实现
Serializable
接口
?
实现
接口
是Java
中
实现
序列化
和反
序列化
的必要步骤。通过
实现
接口
,可以标识一个
类
可以被
序列化
和反
序列化
,确保
类
的版本兼容性,并控制
序列化
过程。在实际应用
中
,
序列化
和反
序列化
广泛用于数据持久化、网络传输、缓存等场景。
你确定懂了Java
中
的
序列化
机制吗
java
中
的
序列化
可能大家像我一样都停留在
实现
接口
上,对于它里面的一些核心机制没有深入了解过。直到最近在项目
中
踩了一个坑,就是
序列化
对象添加一个字段以后,使用方系统报了反
序列化
失败,原因是我们双方的
序列化
对象没有加上
序列化
对象
中
的是干嘛用的?如何修改默认的
序列化
机制?如何使用
序列化
的方式克隆对象?只要
类
中
有这两个签名的
方法
,那么就不会调用默认的
序列化
,取而代之调用这些
方法
。本例我们举个jdk
中
的例子,ArrayList就
实现
了这两个
方法
,
重写
了
序列化
机制。
重写
Redis
实现
缓存过程
中
的
序列化
Redis
序列化
是指将Redis
中
的数据结构(如strings、hashes、lists、sets、zsets等)转换为二进制格式,以便在内存和磁盘之间
进行
存储和传输的过程。
类
实现
Serializable
接口
进行
序列化
和反
序列化
操作
目的
类
实现
Serializable
接口
的目的主要是为了
进行
可持久化操作,将临时存储在内存块
中
的数据转换成可传输数据SerialVersionUID属性当我们创建A
类
的对象a并
进行
序列化
传输时,如果此时我们修改了A
类
,增加了某些新的属性,这时候如果不对其
进行
判断而
进行
反
序列化
的话,将会导致运行时异常,两者
类
型不匹配。因此,这里使用SerialVersionUTD属性,该属性用来唯一标识一个
类
的版本Se
实体
类
为什么要
实现
序列化
接口
?
客户端访问了某个能开启会话功能的资源, web服务器就会创建一个与该客户端对应的HttpSession对象,每个HttpSession对象都要站用一定的内存空间。如果在某一时间段内访问站点的用户很多,web服务器内存
中
就会积累大量的HttpSession对象,消耗大量的服务器内存,即使用户已经离开或者关闭了浏览器,web服务器仍要保留与之对应的HttpSession对象,在他们超时之前,一直占用w...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章