速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Java 的序列化特性将要退出历史舞台了

  • 2018-05-28
  • 本文字数:669 字

    阅读完需:约 2 分钟

甲骨文公司正计划将安全方面的一大棘手难题对象序列化功能从 Java 当中剔除出去。这项功能亦被称为 Java 对象序列化,主要用于将对象编码为字节流形式。除了用于轻量化持久性与通过套接字或 Java RMI 进行通信之外,序列化功能还支持从字节流中重构对象图。

甲骨文公司 Java 平台部门首席架构师 Mark Reinhold 表示,去除序列化机制是一项长期目标,亦是其专注于面向 Java 语言功能生产力强化目标的 Amber 项目的重要组成部分。

为了替换现有序列化技术,甲骨文方面将在相关记录(即 Java 版本的数据类)获得支持之后,向 Java 平台中添加一套小型序列化框架。该框架能够支持记录图,而开发人员亦可接入自己选择的序列化引擎、支持 JSON 或 XML 等格式,并以安全方式实现记录序列化功能。不过 Reinhold 目前还无法确定记录功能将正式登陆 Java 的哪个版本。

根据 Reinhold 的说法,序列化功能堪称诞生于 1997 年的一个“可怕错误”。他估计,至少有三分之一甚至是半数 Java 安全漏洞都与序列化机制有关。序列化总体而言存在巨大安全风险,但 Reinhold 表示其在简单用例当中的出色易用性仍具有一定吸引力。

最近,Java 刚刚迎来了过滤功能,因此如果开发者必须在网络之上使用序列化功能且愿意接受不可信序列化数据流,则可借此选择需要过滤掉的类以实现针对序列化安全弱点的防御机制。Reinhold 指出,甲骨文公司目前收到大量运行在网络之上的应用服务器的报告,并发现其中相当一部分在未受保护的端口上使用序列化流。正是为了解决这一问题,过滤功能才应运而生。

最后,推荐一个极客时间最新上线的专栏,用讲故事的方式帮你学习和理解网络协议。

2018-05-28 01:125018

评论 1 条评论

发布
用户头像
我是第一名(*^▽^*)
2020-06-03 14:39
回复
没有更多了
发现更多内容

VS +QT 手动添加Q_OBJECT 报错问题解决

Creep

c++ qt

架构师训练营 - 第五周作业

Mark

技术创业,股权设置的常见“坑” | 视频号28天(24)

赵新龙

28天写作

Elasticsearch document routing 数据路由

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

2021年,开发者的落日

王知无

大数据

产品 0 期 - 第三周作业

vipyinzhiwei

2月日更挑战|达标抽奖季,更有暖春大满足礼包等你来

InfoQ写作社区官方

2月春节不断更 热门活动

week10-homework

J

聊聊我的原创维权二三事

架构精进之路

自我思考 七日更 28天写作

欢度春节|话题王者 VS 互动先锋(第二季)

InfoQ写作社区官方

话题讨论 热门活动

week10-总结

J

读2020年Javascript趋势报告展望ES2020

devpoint

大前端 ES2020 构建工具

区块链隐私保护、体系结构与智能合约研究

CECBC

区块链

航运业“搭台” 区块链“唱戏”

CECBC

航运

用helm chart将chripstack部署到kubernetes之上

远鹏

Kubernetes IoT Helm ChirpStack LoraWan

同城快递架构设计

Mars

Mybatis【17】-- Mybatis自关联查询一对多查询

秦怀杂货店

数据库 mybatis

我看好数据湖的未来,但不看好数据湖的现在

王知无

大数据 数据湖

Apache老母鸡又下蛋?一文俯瞰Apache Superset

王知无

大数据

发布 Go Modules

Rayjun

go modules Go 语言

Reactive Spring实战 -- 响应式Redis交互

binecy

redis Reactive Spring

关于微信8.0的一些社交小心思

静陌

微信 张小龙 社交

管事情的过程,如何聚焦并决策高价值的事?

一笑

管理 优先级队列 28天写作

【Vue2】文本无缝滚动

德育处主任

Vue 大前端 28天写作

【计算机内功修炼】八:函数运行时在内存中是什么样子?

码农的荒岛求生

高并发 内存 高性能 内存管理 运行时栈帧

企业是如何解决HDFS单点问题的?

大数据老哥

大数据 hadoop

第十周 模块分解 作业 「架构师训练营 3 期」

胡云飞

VS2019 + Qt Creator 4.11.1 导入Qt源码进行调试记录

Creep

c++ qt

数据结构和算法学习总结-复杂度分析

Nick

时间复杂度 数据结构与算法 复杂度

Spring 动态代理时是如何解决循环依赖的?为什么要使用三级缓存?

程序员小航

spring 源码

区块链技术发展及应用:现状与挑战

CECBC

区块链

Java的序列化特性将要退出历史舞台了_Java_乐白_InfoQ精选文章