Not Your Father's Java: An Opinionated Guide to Modern Java Development, Part 1
Despite it assosiation with large, bureacratic, and slow enterprise shops, and big, unwieldy frameworks, recent additions to the Java language, tooling, and libraries, combined with more lean programming styles, have turned programming Java into a rather pleasant experience.