设为首页 加入收藏

TOP

Java 9中将移除 Sun.misc.Unsafe(译)
2015-08-31 21:24:01 来源: 作者: 【 】 浏览:35
Tags:Java 中将 Sun.misc.Unsafe

灾难将至,Java 9中将移除 Sun.misc.Unsafe


... 这个列表很长。。。


然而, Oracle 看起来是铁了心毫无理由的去掉它。下面是一个来自他们邮件列表的评论: n


这个工程师似乎是毫无根据的憎恨 Unsafe。。。


当前Unsafe 类是一个强有力的工具。 没有必要去掉它。对这个类的特性有些明确的需求,这就是为什么事实上几乎每个 Java 程序都在使用它,不知不觉中许多流行的 Java库也在使用它。


Oracle 应该接受现实,并将Unsafe转为公开 API,提供完善的文档和开发示例。 当前,没有准确的文档,开发中需要通过 stackoverflow 帖子或者其他一些随机的博客学习怎么使用 Unsafe。 移除 Unsafe 的一个主要论据是:使用它太容易让开发中犯错了。如果有完善的官方文档或许可以改善这一现状。


除了 Unsafe 文档外,Oracle 应该发布一个更易用的 API,提供 Unsafe 相同的功能。 这是上面文档中的提议的一部分。然而这不太应该以移除 Unsafe 为代价。 人们在开发新软件的时候就会逐步过渡到新的 API,Unsafe 就自动被废弃了。


这类似于向 Java 8引入 java.time 包中的新的 DateTime API。 新的日期 API 的引入并不表示之前的DateTime API 被彻底移除或者隐藏到某个特殊 JVM flag 里。那样也肯定会引发一些事故。


根据事情的发展趋势,Oracle 看起来会:


你是不是任务这太荒唐了,Oracle 绝不可能犯这样的错误?事实上它曾做过类似的事情了, 例如Java 7中的字节码校验器


现在是该让大家开始意识到这个问题的时候了。从 JVM中去掉Unsafe或者把它隐藏在某个特殊的 flag 里面势必导致一场灾难。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python 3 对于字符串的编码转换说.. 下一篇Erlang基础 -- 介绍 -- 历史及Erl..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: