作为一个 Javaer ,其实没怎么想过这个问题。Java 在向后兼容方面做的比较好。某些脚本语言在这点上就做得相当垃圾。( Node.js 和 Python )
Java versions are expected to be binary backwards-compatible. For example, JDK 8 can run code compiled by JDK 7 or JDK 6. It is common to see applications leverage this backwards compatibility by using components built by different Java version.
所以如果我是个类库的作者,我会在编写 Java 库时尽量用低的版本。比如做的挺好的 Netty 4 就支持 Java 6 。
而作为使用者,只要你使用 8 以上,你就可以尽量用新的类库版本。
而且吧,Java 需要编译,如果接口变了或没了,那你直接编译就通不过。所以你很快就知道能不能用。如果不能用,那降个大版本基本也就能用了。
不过实际并没有那么完美,比如 nashron 引擎就被移除了。javax 的现在要注意下改成 jakarta ,万恶的 Oracle 。 |