Sun仅通过付费支持合同提供最新G1垃圾收集器?

Sun的Garbage First垃圾收集器(G1)已经随Java Update 1.6.0_14 (6u14)发布。虽然开发社区对这款短暂停、服务器风格的收集器盼望已久,但是目前Sun仅允许付费用户用于生产环境。

\

InfoQ之前已经报道过G1的技术细节:

\
\

Sun 公司的Garbage First 垃圾收集器是一款短暂停的垃圾收集器,计划用来取代 Hotspot JVM 中的CMS。它是一种服务器风格的垃圾收集器,主要针对多处理器大内存的机器。CMS与G1有两大区别。第一,G1是一款压缩型的收集器。压缩,也就是把 活动的对象从原先的存储地址移到堆的一端,那么堆的另外一端就会有整块的空闲内存,这对于长时间运行的应用系统来说非常重要,因为时间一长,这些系统不可 避免都会产生内存碎片。G1通过有效的压缩完全避免了对细微空闲内存空间的分配,这不仅大大简化了收集器,而且还消除了潜在的碎片问题。除压缩以外,G1 的垃圾收集停顿也比CMS容易估计,它允许用户自定义所希望的停顿参数。这种确定性也让G1具有某种实时级别的垃圾收集特征,但这还不是“硬实时”,因为 底层操作系统的某些调度因素无法保证上述的停顿机制。尽管如此,与Java实时产品相比,G1对开发人员来说相对更容易使用,因为已有的程序不需要修改代 码就能利用G1改善自身性能。G1采用了很多有意思的技术,它根据全局的标志信息和其度量,按各个区域的GC效率给区域排列垃圾收集的优先级。

\
\

G1在update 6u14中发布:

\
\

Garbage First,也就是G1,是一款短暂停、服务器风格的收集器。G1相比并发标记—收集器(CMS)的主要优势在于增量压缩、更好的预测和易用性。

\
\

...但是其发行说明中提到你必须与Sun达成支持合同才可以把G1用于生产环境中:

\
\

虽然G1已经发布,请注意对G1的生产环境使用必须购买Java支持合同才能获得授权。G1通过Sun的Java Platform Standard Edition for Business program获得支持。

\
\

很多人认为这标志着Sun的政策转变,并且与Oracle的收购有关:

\
\

Java 的收费开始了。Sun今天发布了Java 1.6.0_14 JDK和JRE,其中包含了一个很酷的新垃圾收集器G1。不过有一点值得注意。虽然G1包含在该发布中,发行说明提到“虽然G1已经发布,请注意对G1的 生产环境使用必须购买Java支持合同才能获得授权。”由此看出,Oracle的影响已经开始发挥作用。当所有的好东西都进入Java SE的商业版本,OpenJDK是否注定落到被阉割的境地?

\
\

其他人则认为这一条款与G1的实验性本质有关,在未来版本中会被删除:

\
\

当我第一次看到这个说明时,我首先想到的是它其实是想说“现在的代码不适合生产环境,但是不管怎样我们还是发布了,缺省情况下不启用,你的应用表现可能与你的期望不同,如果你准备在生产环境中启用然后发现问题的话,除非你签署了支持合同,否则我们是不会协助你的。”

\

我怀疑可能在u14之后的更新或者JDK7发布时,这个支持要求可能会消失。

\
\

考虑到G1是JDK/OpenJDK7预告的功能之一,Sun似乎不太可能只提供给付费用户。

\

你认为Sun应用利用下一代Java/JVM的某些功能赚钱吗?这会对Java带来什么影响?

\

查看英文原文:Is Sun offering the new G1 Garbage Collector Only with a Paid Support Contract?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值