我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术。Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数据保存到磁盘或者传输网络,磁盘或者网络接收者可以在对象的属类的模板上来反序列化类的对象,达到对象持久化的目的。

如果你还不熟悉 Java 序列化技术,请详细阅读《关于Java序列化你应该知道的一切》这篇文章。

目前 Oracle 公司计划废除 Java 中的古董--序列化技术,因为它带来了许多严重的安全问题(如序列化存储安全、反序列化安全、传输安全等),据统计,至少有3分之1的漏洞是序列化带来的,这也是 1997 年诞生序列化技术的一个巨大错误。

如图所示,序列化技术现在在 Java 应用中无处不在,特别是现在的持久化框架和分布式技术中,都需要利用序列化来传输对象,如:Hibernate、Mybatis、Java RMI、Dubbo等,即对象要存储或者传输都不可避免要用到序列化技术,所以删除序列化技术将是一个长期的计划。

据悉,在未来的 Java 版本中,将会有一个迷你序列化框架来替代现在的古董序列化技术。这个新框架将会支持开发者值入序列化引擎,并支持如 JSON、XML 格式,以一个更安全的方式来序列化对象。

序列化技术自 Java 诞生到现在已经发展了 20 来年了,但并未有什么改进和突破。也因为其简单易用的方式,给 Java 应用程序带来了许多安全漏洞。现在 Oracle 版本发布越来越快,让我们在新的版本中能看到更多序列化技术演进吧!


Java 序列化重生,Java 会永垂不朽!这次感谢图灵教育出版社赞助 8 本价值 84 元的 《明解Java》 免费送给我们的粉丝,想深入学习 Java 的稳住了,我们一定能赢。

本书图文并茂,示例丰富,通过284幅图表和258段代码,由浅入深地解说了从Java的基础知识到面向对象编程的内容,涉及变量、分支、循环、基本数据类型和运算、数组、方法、类、包、接口、字符和字符串、异常处理等。书中出现的程序包括猜数游戏、猜拳游戏、心算训练等,能够让读者愉快地学习。

本次送书规则如下。

1、如果让你来设计一个安全的序列化技术,你会怎么做?欢迎留言!我们将选出 4 名精彩留言用户送书,留言墙数量有限,与话题无关且随意留言的不会被精选。

2、还有 4 本从Java技术栈知识星球中抽奖送出,有想深入交流学习 Java 技术的朋友可以加入Java技术栈星球。天下没有免费的午餐,机会都是留给有准备愿意付出的人的。

截止时间:2018/06/03 18:00

本活动需要在我们的微信公众号对应文章中参与。

转载于:https://www.cnblogs.com/javastack/p/9106961.html

Java序列化技术即将被废除!!!相关推荐

  1. Java序列化技术与Protobuff

    前言: Java序列化是Java技术体系当中的一个重要议题,序列化的意义在于信息的交换和存储,通常会和io.持久化.rmi技术有关(eg:一些orm框架会要求持久化的对象类型实现Serializabl ...

  2. Java序列化技术的知识与故事

    Java序列化的学习 Java序列化的相关介绍 序列化的由来与意义 Java序列化概念 意义 举个栗子 结果展示 从上到下依次分析 Serializable标记接口 实现序列化 Serializabl ...

  3. java基础(十)-----Java 序列化的高级认识

    将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ...

  4. 深入理解JAVA序列化

    2019独角兽企业重金招聘Python工程师标准>>> 如果你只知道实现 Serializable 接口的对象,可以序列化为本地文件.那你最好再阅读该篇文章,文章对序列化进行了更深一 ...

  5. Java 序列化的高级认识

    这篇文章来自:http://www.ibm.com/developerworks/cn/java/j-lo-serial/index.html 引言 将 Java 对象序列化为二进制文件的 Java ...

  6. Java序列化和克隆

    在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java序列化和克隆,更多Java专业知识,广州疯狂java培训官网与你 ...

  7. 【通知】+ java基础提升篇:Java 序列化的高级认识

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 好好学java java知识分享/学习资源免费分享 关注 精彩内容 你所需要的 ...

  8. java基础提升篇:Java 序列化的高级认识

    如果你只知道实现 Serializable 接口的对象,可以序列化为本地文件.那你最好再阅读该篇文章,文章对序列化进行了更深一步的讨论,用实际的例子代码讲述了序列化的高级认识,包括父类序列化的问题.静 ...

  9. 深入分析Java Web技术内幕pdf

    下载地址:网盘下载 内容简介  · · · · · · <深入分析Java Web技术内幕(修订版)>新增了淘宝在无线端的应用实践,包括:CDN 动态加速.多终端化改造. 多终端Sessi ...

最新文章

  1. ajax怎样获得表头信息,layui.table动态获取表头和列表数据示例
  2. NYOJ 108士兵杀敌(一)
  3. php弱类型漏洞,php代码审计之弱类型引发的灾难
  4. CSDN写博客时设置图片显示大小
  5. Spring AOP 浅析
  6. javaweb环境的配置 以及tomcat的安装
  7. 汽车配件+供应链一体化:降低库存成本,提高运营效率
  8. 国家地区标准代码(国际域名缩写)
  9. network 节点label以及相关字体设置
  10. 项目管理九大知识领域过程逻辑关系图
  11. go语言中文乱码gbk转UTF8
  12. BIM技术之Dynamo图元编程:柱、球面坐标系节点绘制螺旋线
  13. android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
  14. web嵌入flowplayer流媒体播放器
  15. 淘宝、京东电商的崛起,为什么如今越来越多的企业选择java商城?
  16. 5G时代的网盘,直接送1000G空间!
  17. 数码管显示电路分析-74hc138+74hc164
  18. [翻译] 数学翻译词汇
  19. apache php gzip压缩输出的实现方法
  20. java监听器(Listener)统计在线人数

热门文章

  1. python彩票预测与分析_130期柳无尘双色球预测奖号:红球和值分析
  2. android sdk 官网说明,神目人脸识别Android SDK Demo说明
  3. linux备份数据库软件有哪些内容,Linux网络备份MySQL数据库的应用方法
  4. r语言min-max归一化_如何在R中使用min()和max()
  5. osi模型_OSI模型
  6. 使用PosixFilePermission的Java设置文件权限
  7. 文件和目录(一)--unix环境高级编程
  8. 作为一个产品经理,产品文档该怎样写
  9. Kubernetes使用Nginx Ingress暴露Dashboard
  10. 如何对Internet Marketing网络市场营销进行数据报表分析