refactor jdk8 new features
refactor jdk8 new features