java flightrecorder_怎么开启java flight recorder

首先,Oracle提供的Java SE在“通用计算”使用范围内仍然是完全的。在这个范围内再怎么用Oracle也找不了茬。

其次,Oracle提供的Java SE Advanced系列的产品是收费的。The Register的文章里没提,但其实很简单的判断方式就是:使用了 -XX:+UnlockCommercialVMOptions 的功能都是收费的。

再次,如果将Oracle Java SE系列产品使用在“特殊嵌入式计算系统”中的话,则不算在通用计算的范围内,而必须要向Oracle付费。但这是个坑颇大的地方:一台台式机,装着普通的Windows或者Linux,在上面跑Java SE是属于通用计算的范围内。但如果这样一台台式机被包装到一个像ATM那样的柜子中,平时只运行某些特定的Java程序给客户提供服务的话,那就有可能要被归类到“嵌入式领域”。

最后就是,Oracle的Java SE系列产品只提供包含上述所有功能的安装包,而没有提供只包含Java SE功能的安装包。所以用户了Oracle JDK后,是需要自主决定只使用其中的功能还是使用其中的收费功能。

长话短说,要想使用Oracle JDK但不被Oracle的法务找茬的话,要:

避免使用需要 -XX:+UnlockCommercialVMOptions 才可以开启的功能。例如说Java Flight Recorder。这个参数就是明明白白让用户知道自己是否踏入了“收费领域”用的,如果用了这个参数然后被找茬,那不能怪人家宰割,只能说是愿打愿挨。

只在“通用计算”范围内使用Oracle Java SE

其实就这么简单而已。

当然,要是不放心的话,大家可以来使用鄙司Azul Systems发布的Zulu产品线中的Java SE产品。

Zulu是Azul Systems对OpenJDK的打包、测试、发布与支持。它没有Oracle JDK对使用场景上的诸多限制,可以放心和使用。

它的核心部分就是原汁原味的OpenJDK,没有任何额外的改动——Azul有时候也会对OpenJDK做bug fix,但这些都是通过提交回到OpenJDK去然后再进入到Zulu Java SE产品中的。

它与“自己OpenJDK源码,自己build”的最大区别是:Azul会在每次发布Zulu产品之前进行充分的测试,build出来的二进制版本符合Java的兼容性测试;同时,Azul有与Oracle签订合作协议,在critical security fix的方面会比公开发布的OpenJDK源码要更早获得补丁,提前做好build与测试工作,基本上可以跟Oracle在同一时间发布打了security patch的版本,解决zero-day漏洞问题。

为了尽可能让Zulu与Oracle JDK兼容,Zulu系列的产品在核心的Zulu Java SE之外,还额外提供了Zulu Commercial Compatibility Kit,将OpenJDK与Oracle JDK少量兼容性不够的地方加以改善,例如说某些字体之类的。

这部分OpenJDK没有提供,Azul提供的ZCCK也没有开源(主要是因为其中涉及的源码购买自不愿意开源的第三方,跟Oracle JDK没有开源这些部分的原因一样),但Azul的ZCCK的使用许可证是保证它可以使用的。

只有在希望购买Azul的技术支持的时候,Zulu的商业技术支持部分才是收费的;不购买收费的技术支持的话,Azul也有为Zulu提供的社区技术支持。

取消

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值