Serializable是一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。

序列化的应用场景

1.    比如说你的内存不够用了,那计算机就要将内存里面的一部分对象暂时的保存到硬盘中,等到要用的时候再读入到内存中,硬盘的那部分存储空间就是所谓的虚拟内存。在比如过你要将某个特定的对象保存到文件中,我隔几天在把它拿出来用,那么这时候就要实现Serializable接口。

2.    在进行Java的Socket编程的时候,你有时候可能要传输某一类的对象,那么也就要实现Serializable接口。最常见的你传输一个字符串,它是JDK里面的类,也实现了Serializable接口,这样做为的是将数据变为二进制来传输,所以可以在网络上传输。

3.    如果要通过远程的方法调用(RMI)去调用一个远程对象的方法,如在计算机A中调用另一台计算机B的对象的方法,那么你需要通过JNDI服务获取计算机B目标对象的引用,将对象从B传送到A,就需要实现序列化接口。

备注:

Serializable这个接口其实是个空接口。其实,看一下接口的注释说明就知道,当我们让实体类实现Serializable接口时,其实是在告诉JVM此类可被序列化,可被默认的序列化机制序列化,不需要我们实现。

implements Serializable相关推荐

  1. 为何要implements Serializable,反序列化是什么?

    文章目录 问题 解释 序列化是什么? UID不指定会怎样? 这个serialVersionUID的值在存数据库的时候,存哪里了? 序列化类的内部成员变量有要求吗? 序列化的类的内部静态变量也会被序列化 ...

  2. Java中的实体类为什么要 implements Serializable?

    1. 序列化和反序列化 首先来解释一下什么是序列化和反序列化: 序列化:把对象转换为字节序列的过程称为对象的序列化. 反序列化:把字节序列恢复为对象的过程称为对象的反序列化. 在 Java 和其他语言 ...

  3. javaBean为什么要implements Serializable

    一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的.因此如果要序列化某些类的对象,这些类就必须实现Serializable接口.而实际上,Serializabl ...

  4. 为什么要用implements Serializable

    原文地址:https://blog.csdn.net/weixin_41917449/article/details/81168234 一个对象序列化的接口,一个类只有实现了Serializable接 ...

  5. java中 implements Serializable时 报错 could not find class file 处理办法

    这是因为找不到类文件, 在构件环境的时候编译发生错误.这是时候需要从新构件一次就行了 1 选择项目 2 project>>build project 就可以了

  6. Serializable 都这么牛逼了,Parcelable 还要你何用?

    一些闲聊 距离上一篇文章似乎又是很久了,看起来也没有很多反馈,催更就更不用说了.哈哈,放弃了. 话说最近公司在招聘一批至少 5 年开发经验的 Android 开发工程师,我也是忙开了花,激动得不行呀. ...

  7. 我对序列化(Serializable)的理解

    转自:http://blog.tianya.cn/blogger/post_show.asp?BlogID=764&PostID=3231409 序列化是把一个对象的状态写入一个字节流的过程. ...

  8. Serializable接口

    什么是java序列化,如何实现? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间. 序列化是为了解决在对 对 ...

  9. hadoop 023.0与hadoop 1.0 io.serializable分析

    2019独角兽企业重金招聘Python工程师标准>>> hadoop升级到0.23.0和1.0版本后,其IO底层除了自己实现的Writable序列化后,还增加了一个io.serial ...

最新文章

  1. linux windows c system 函数简介
  2. SAP屏幕设计器专题:树控件的使用(九)
  3. 如何预编译 Android 模拟器专用内核
  4. 《码出高效:Java开发手册》背后的故事
  5. POJ-3281 Dining 网络流最大流
  6. Linux怎么查询全部容器时间,linuxea:如何单单修改docker容器的系统时间
  7. JavaFX图表(六)之条形图
  8. android之修改CheckBox左侧图标样式
  9. C++:VS2019遇到C1083 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory
  10. ILI9341液晶LCD彩色显示原理
  11. nginx配置不记录指定文件类型日志
  12. html透明度_iMac下制作含透明度图片及判断图片透明度
  13. python递归的方式打印九九乘法表
  14. 业务请求量膨胀的扩容技术实践
  15. 素描正确握笔的姿势是怎么样的?
  16. InnoDB一棵B+树可以存放多少行数据?
  17. python爬虫模拟登录学校教务系统(青果教务系统)并查询个人成绩
  18. 华南农业大学计算机学院院长,华南农业大学外国语学院院长何高大
  19. TCTF writeup
  20. 子集生成的两种方法 (增量构造法 和 位向量法)

热门文章

  1. Ubuntu环境使用conda安装轻量级中文ocr开源项目chineseocr_lite,最简单的方式
  2. 数学建模 割平面算法求解整数规划基本原理与编程实现
  3. 吃透理财三句话人人都能成百万富翁
  4. 面试问题汇总 精选 分析 解答 职业规划 part 4
  5. H.264软件解码器在PXA270平台上的优化
  6. linux下安装 ping 命令
  7. docker save 与 docker export 的区别
  8. Docker 是什么,组成
  9. Postman使用入门
  10. String.valueOf()方法与toString()方法的区别