题主问的是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之类的小版本更新则是告诉大家这只是性能提升或者安全更新,不会打破大版本内的兼容性。