18年5月份,在毕业快一年的时候,我终于把自己从研发助理偏向行政打杂,偶尔写一些前端代码的处境,回归到了初衷-安安静静写前后端代码的小小程序员~过程中的心酸也就不在这里吐啦,毕竟我是小太阳,永不熄灭的就是热情和坚持~

到现在,也写了半年的前后端代码了,过程中碰到了很多不理解只会用的概念,一直没有系统性的去整理,最近正好闲,而又不能显得我很闲(毕竟年底,要发年终奖啦)~今天先简单介绍下序列化吧。

相信很多同学都听说过序列化,也知道他的用法,但也和我一样的不知道该怎么整体的去介绍这个概念,别急,跟我来~

1、序列化是干嘛的?

大家都知道,不同的进程之间进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列(字节序列)的形式在网络上传送。发送方需要把这个 Java 对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为 Java 对象。

- 把 Java 对象转换为字节序列的过程称为对象的序列化。

- 把字节序列恢复为 Java 对象的过程称为对象的反序列化。

现在一般反序列化过程在Java内部实现了,所以咱们感觉不到他们的存在。

2、啥时候用到序列化

对象的序列化主要有两种用途:

1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;

2) 在网络上传送对象的字节序列;

我们组的项目里,会在P对象里用到序列化,其实就是用来给数据库传输数据啦。

3、咋使用序列化?

JAVA7之后(我接触的都是Java7之后的版本,之前 的没见过),已经写好了序列化接口,只需要继承一下就好啦~偷偷放一张我们实际的图(才不会告诉你们,我差点放了一张没处理过的图来着~):

4、注意点啥?

- 当一个父类实现序列化,子类自动实现序列化,不需要显式实现 Serializable 接口;

- 当一个对象的实例变量引用其他对象,序列化该对象时也把引用对象进行序列化;

- 并非所有的对象都可以序列化,,至于为什么不可以,有很多原因了,比如:

1.安全方面的原因,比如一个对象拥有private,public等field,对于一个要传输的对象,比如写到文件,或者进行rmi传输 等等,在序列化进行传输的过程中,这个对象的private等域是不受保护的。

2. 资源分配方面的原因,比如socket,thread类,如果可以序列化,进行传输或者保存,也无法对他们进行重新的资源分 配,而且,也是没有必要这样实现

把一个对象完全转成字节序列,方便传输。

所谓序列化其实就是将程序中的数据(对象)通过某种方式,保存到本地中。

5、参考资料

- [java中的序列化是什么意思?]

java序列化库_java 中序列化(Serializable)相关推荐

  1. java里面序列化作用_java中序列化的作用

    一  什么叫序列化 通俗点讲:它是处理对象流的一种机制,即可以很方便的保存内存中java对象的状态,同时也为了方便传输. 二 序列化有什么作用 1.方便传输,速度快,还很安全,被调用方序列化,调用方反 ...

  2. java 图形处理库_java中处理图片的类库

    拷贝一下代码,以后备用:import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import ...

  3. java pdf库_Java中常用的操作PDF的类库

    iText iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用 ...

  4. java序列化有什么用_java中序列化的作用

    一  什么叫序列化 通俗点讲:它是处理对象流的一种机制,即可以很方便的保存内存中java对象的状态,同时也为了方便传输. 二 序列化有什么作用 1.方便传输,速度快,还很安全,被调用方序列化,调用方反 ...

  5. java继承序列化_java中序列化之子类继承父类序列化

    当一个父类实现Serializable接口后,他的子类都将自动的实现序列化. 以下验证了这一点: package Serial; import java.io.Serializable; public ...

  6. java 序列化实例_Java中的序列化与反序列化实例

    创建的字节流与平台无关.因此,在一个平台上序列化的对象可以在另一个平台上反序列化. 为了使Java对象可序列化,我们实现java.io.Serializable可序列化接口. ObjectOutput ...

  7. java字符串深克隆_Java中对象的深复制(深克隆)和浅复制(浅克隆)之序列化...

    1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象. 举 ...

  8. i10在java中什么意思啊,java题库_JAVA题库的题 求答案啊!!!!!!!!!!!!!!!!_淘题吧...

    ⑴ JAVA题库的题 求答案啊!!!!!!!!!!!!!!!! 1.有点没太明白意思,是要求2个数相加的和吗? 导入Java.util.扫描仪: 公共类应用程序1 /** * @param参数 */ ...

  9. 集合中的实体类根据一个字段合并_JAVA中序列化与反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化: 把字节序列恢复为对象的过程称为对象的反序列化. 说人话:就是JAVA对象需要保存或通过网络传输必须保存为二进制才行,所以就需要 ...

最新文章

  1. nx set 怎么实现的原子性_基于Redis的分布式锁实现
  2. 嵌入式系统学习笔记之ftp
  3. define 防 php,php中define防止跳墙
  4. 利用redis写webshell
  5. memcache的学习路线图
  6. html 使用ajax php函数吗,php – 为什么用AJAX加载html后jQuery更改函数不起作用?
  7. html5进度条插件 传递参数,Html5进度条插件(自写)
  8. Python自定义类中定义属性的两种方式
  9. BZOJ5248:[九省联考2018]一双木棋——题解
  10. Vue首页加载过慢 解决方案
  11. springboot2中session超时,退到登录页面
  12. 电信云服务器装系统,天翼云主机重装系统的详细操作步骤
  13. 宇视摄像机媒体流达到上限
  14. 基于Thinkphp5+EasyWeChat+fastadmin微信小程序授权登录获取手机号微信公众号网页---联合授权登录
  15. 【实用算法教学】——教你使用决策树算法预测NBA获胜球队
  16. 关于微信公众号页面获取code进行微信授权登录
  17. 移动硬盘可以识别但无法读取的处理方法
  18. GTX960M搭建《深度学习图像识别技术》所需的环境
  19. 三、计算机网络的性能指标
  20. html布局的wrap方法,wrap_content设置一个视图的尺寸为wr

热门文章

  1. Java项目启动时执行指定方法的几种方式
  2. 《Adobe Flash CS4中文版经典教程》——1.7 使用“工具”面板
  3. Unity3D Adam Demo的学习与研究
  4. Java - 错误: quot;java.lang.ArrayIndexOutOfBoundsException: length=1; index=1quot;
  5. poj 1469 COURSES
  6. tl r402路由器设置_怎么进入路由器设置界面
  7. python中多重if语句用法_python – 在Pandas中使用Apply使用多个if语句的Lambda函数
  8. 超融合服务器虚拟化优缺点,超融合是什么 意思?为什么必须是软硬件一体?...
  9. 计算机初中教师资格教案,2018教师资格面试:初中信息技术教案《认识WINDOWS》
  10. visual studio installer正在提取文件_并非危言耸听,赶紧检查自己网盘内的私密文件...