近来,sun.misc.Unsafe这一Java库类成了一个备受争议的话题。上周,Oracle首席Java架构师和Jigsaw项目经理Mark Reinhold在博文中就该类的未来阐述了一些观点。 Reinhold将Oracle的处理策略简要描述为:
OpenJDK提案JEP 260已经被授权“封装大部分内部API”,它的创建反映了Oracle的策略。Jigsaw 项目已经严重拖期,Oracle试图用它模块化JDK,并提供Java模块化开发功能。 sun.misc.Unsafe是一个不受支持的Java类,它提供了底层“非安全”(按Java沙箱标准)操作的基本实现。传统上,自Java创建以来,Java创建者Sun Microsystems公司就不赞成使用“sun”包。 Unsafe并不是一个正统的Java类,它来自不受支持的sun.misc包。关于这个讨论中的问题,现在需要关注的是,它将来仅限于通过Jigsaw项目的JDK模块来访问。 Unsafe包含以下几类操作:
由于这些方法在很大程度上是Java中唯一可以访问这类特性的方法,所以该库广泛应用于JDK及许多第三方库中。 已经有一个名为Variable Handles的方案,可以提供部分内存访问和volatile访问特性,但目前为止,Unsafe的其它功能仍有待晋升为一等公民。 高性能社区似乎很高兴看到事情确定了下来。 Hazelcast的Christoph Engelbert告诉InfoQ:
Ben Cotton是Mechanical Sympathy低延迟社区论坛的一名活跃分子,他告诉InfoQ:
InfoQ曾试图联系Oracle进行确认,但他们拒绝置评。 |