Java序列化技术即将被废除!!!

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

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

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

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

image

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

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

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


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

image

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

本次送书规则如下。

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

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

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

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

image
相关文章
|
1天前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
7 1
|
5天前
|
Java
Java BasePooledObjectFactory 对象池化技术
Java BasePooledObjectFactory 对象池化技术
9 1
|
15天前
|
存储 安全 Java
揭秘Java序列化神器Serializable:一键解锁对象穿越时空的超能力,你的数据旅行不再受限,震撼登场!
【8月更文挑战第4天】Serializable是Java中的魔术钥匙,开启对象穿越时空的能力。作为序列化的核心,它让复杂对象的复制与传输变得简单。通过实现此接口,对象能被序列化成字节流,实现本地存储或网络传输,再通过反序列化恢复原状。尽管使用方便,但序列化过程耗时且存在安全风险,需谨慎使用。
27 7
|
15天前
|
安全 Java
Java RMI技术详解与案例分析
在实际的银行系统中,当然还需要考虑安全性、事务性、持久性以及错误处理等多方面的因素,RMI的网络通信也需要在安全的网络环境下进行,以防止数据泄露或被篡改。你在应用中是怎么使用 RMI 的,欢迎关注威哥爱编程,一起交流一下哈。
133 4
|
26天前
|
存储 安全 Java
day24:Java零基础 - 序列化与反序列化
【7月更文挑战第24天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
23 1
|
5天前
|
存储 设计模式 安全
Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
5 0
|
27天前
|
Java 运维
开发与运维技术问题之ava对象头压缩技术支持所有的Java垃圾回收器如何解决
开发与运维技术问题之ava对象头压缩技术支持所有的Java垃圾回收器如何解决
21 1
|
28天前
|
存储 安全 Java
day23:Java零基础 - 反序列化
【7月更文挑战第23天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
19 2
|
29天前
|
存储 安全 Java
day22:Java零基础 - 序列化
【7月更文挑战第22天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
17 3
|
29天前
|
自然语言处理 安全 Java
Java演进问题之Substrate VM处理Java序列化如何解决
Java演进问题之Substrate VM处理Java序列化如何解决