从Java 17版本开始,Oracle将标准Java的提供方式进行了一些改变。在过去的版本中,Java通过免费的Oracle JDK(Java Development Kit)和商业版本的Oracle JDK进行发布。但是,自Java 17版本起,Oracle宣布将免费提供OpenJDK的版本,而商业版本的Oracle JDK则需要付费使用。
OpenJDK是一个开源的Java开发工具包,它是由Java社区共同维护和开发的。Oracle JDK则是OpenJDK的一个商业分支,在对OpenJDK所做的基础上增加了一些附加功能和工具。过去,OpenJDK虽然也是免费提供的,但是一般使用者更倾向于使用Oracle JDK,因为它提供了更多的功能和支持。
然而,随着Java 17的发布,Oracle决定将OpenJDK作为主要的Java发行项目,并停止了对商业版本Oracle JDK的免费支持。也就是说,从Java 17开始,如果个人或组织需要使用商业版本的Oracle JDK,就需要购买相关的许可证。
尽管Oracle JDK现在需要付费使用,但是OpenJDK仍然是免费提供的。OpenJDK包含了标准Java的所有核心功能,可以满足绝大部分Java开发的需求。此外,OpenJDK也是一个开源项目,任何人都可以参与其开发和贡献。
对于大多数Java开发者来说,使用免费的OpenJDK版本已经足够满足需求。对于那些需要商业版本Oracle JDK提供的额外功能和支持的用户,他们需要根据自己的需求来决定是否购买相应的许可证。
总之,Java 17之后的版本中,OpenJDK是免费提供的,而商业版本Oracle JDK需要付费使用。开发者可以根据自己的需求来选择合适的Java发行版本。
截至目前,Java17是Java语言的最新版本。与之前的版本相比,Java17的一个重要变化是,Oracle宣布将Java17及其之后的版本作为免费版本发布。换句话说,Java17及其之后的版本不再需要支付额外的许可费用。
这个决策是在Oracle对Java版本策略进行了调整之后做出的。在过去,一些Java版本仅在商业许可下才能获得使用。然而,自Java11起,Oracle推出了Long-Term Support(LTS)模式,每三年发布一个LTS版本,以供免费公共使用。这意味着Java11、Java15、Java17等LTS版本都将提供长期支持,并且免费提供给开发人员和用户使用。
不过,需要注意的是,即使Java17及其之后的版本是免费的,Oracle依然提供了Java SE Subscription订阅服务,该服务提供了更多的功能和支持。Java SE Subscription订阅可以为企业提供更高级别的支持、更新和安全性修复,以及可以在数据中心、云环境和服务器上使用Java的许可证。
此外,Java的开源实现OpenJDK也是免费的,并且也提供了长期支持版本。OpenJDK是Java的开源版本,由Oracle及其他贡献者共同开发和维护。
总结起来,自Java17起,Java的新版本及其后续版本都是免费的,可以免费使用和部署。对于企业用户而言,他们可以选择使用免费的开源实现OpenJDK,或者选择购买Java SE Subscription订阅服务以获得更高级别的支持和功能。