Java 2 Platform Standard Edition (J2SE) 5.0 introduces several new features to improve type safety and eliminate boilerplate code including generics, enhanced for loops, autoboxing/unboxing, and annotations. It contains nearly 100 updates developed through the Java Community Process and allows tools to generate code from annotations in source code through an annotation processing tool called apt.