java 8是什么_jdk8, jdk8u, jdk9, jdk10的侧重和区别是什么?

题主问的是OpenJDK的代码仓库的问题么?

很简单,Oracle JDK以及OpenJDK的开发模型是:只在最新版本上开发,然后在不同级别上需要的时候把若干功能backport到低版本上。

所以例如说当前的正式发布版JDK是JDK7u的时候,当前的最新开发版本就是JDK8,此时所有JDK的功能研发都是在JDK8分支上做的,只有少量功能会backport回到JDK7u上;早期会backport更多功能,越到后期就会backport越少功能(知道只backport很紧急的安全相关更新)

然后等到JDK8即将code freeze准备正式发布的时候,就会fork出两个新的分支——JDK8u和JDK9,所有新的开发都在JDK9上做,同时backport部分东西到JDK8u。JDK8这个分支在正式发布之后就会完全冻结了。

依此类推,现在JDK9已经到了快要发布的阶段,所以也就有了JDK10的repo(JDK9u还没分出来,等JDK9冻结的时候就会分了)。

每个JDK大版本的发布都有一定的主题。

JDK7主要是提高易用性,提高性能,增加JSR 292;

JDK8主要是lambda和stream API,以及进一步提高性能;

JDK9主要是模块化(JPMS),以及进一步提高性能;还趁着模块化功能新加了jimage、jlink、jaotc等新玩意儿,以及新增jshell改善易用性;

JDK10会有许多新东西,新的泛型实现啊啥的,颇值得期待。

这些新功能都通常会伴随一定程度的不兼容性——这些新功能无法在低版本的JVM上运行,而反过来低版本的功能在高版本的JVM上要尽可能维持兼容。

提升大版本号的主要目的是告诉大家:嘿,可能有新的、跟以前不一定很兼容的东西出来了;而7u、8u之类的小版本更新则是告诉大家这只是性能提升或者安全更新,不会打破大版本内的兼容性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值