Java Programming Language Enhancements @ Java7
- Binary Literals
- Strings in switch Statement
- Try with Resources or ARM (Automatic Resource Management)
- Multiple Exception Handling
- Suppressed Exceptions
- underscore in literals
- Type Inference for Generic Instance Creation using Diamond Syntax
- Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods
Official reference
Official reference with java8
wiki reference