本文介绍了Java5中添加的语言特性--泛型、枚举、注释、自动装箱和增强的for循环--不需要修改JVM的指令集,几乎全部是在静态编译器和类库中实现的。对于不能使用Java5语言特性的开发人员,有多种方法可以使他们使用Java5的一些语言特性,同时保持与JDK1.4及以前版本的字节码兼容性。javac中不支持的-targetjsr14选项可以为某些Java5语言特性生成与JDK1.4兼容的字节码,并且开源的Retroweaver和Retrotranslator项目能把多数Java5字节码转换成与Java1.4兼容的字节码。