use JDK1.7+