Oracle is planning to step up Java updates and have them rolling out with increased frequency. This should be great news for anyone using services built using Java. But what about those who actually put the updates into practice?
In San Francisco Juergen Hoeller, co-founder of Spring Framework and release manager since 2003, told the SpringOne Platform developer conference: "We have some very interesting changes coming our way in the very core of the Java ecosystem. We will actually get a new JDK generation every half year. We really need to let that sink in."
What will be particularly challenging is the changing bytecode level.
"A new JDK generation every half year means a new bytecode level, which means tooling needs to be ready to handle a new JDK version," Hoeller said, "a new bytecode level, every half year. This can be quite a challenge, and quite disruptive to the Java ecosystem. Many tools are based on bytecode generation, possessing libraries such as ASM, CGLib, ByteBuddy. They historically have not needed to evolve to leniently embrace new JDK generations. They have evolved to be designed for a particular set of JDK versions only, and they had to be updated every single time."
"So we'll have to change our minds a little," he added. "We'll have to design our infrastructure, our bytecode processing, in such a way that a new JDK generation is a totally normal thing."
"Not all of these JDK releases are long term support releases," he said, "and long term support is something we really care about. In production, we only really want to use generations of the JDK and JVM that have a long-term support attached, and we're only going to get the long-term support release every three years, according to the current plan. This may change, it's all evolving, but from the current perspective, JDK 9 is not a long-term support branch. JDK 10 won't be either. It's only JDK 11 planned for September of next year, that will be the next long-term support release. So JDK 8 is the current support release, and JDK 11 is the next."
"From a Spring Framework perspective, we are totally ready to adapt to the runtime environment," he added. "So if you take a Spring Framework 5.0x application, run it on JDK 9 it's going to adapt fine, it's already running fine on the JDK 10, and it will run fine on JDK 11. So JDK 8 is great, JDK 9 is fine in terms of adoption, but be ready to embrace JDK 10, and in particular 11 as soon as they come along, if you choose to move beyond the JDK baseline."
The Spring Framework remains one of the most dependable tools used by programmers for developing Java-based applications for good reason. It is stable and a very versatile tool. If you’re interested in using Spring Framework and are looking for a solid course take a look at our Spring Framework courses.