JVM dev here... unfortunately there aren't any great holistic books for modern Java that I can think of. A lot of it is just community learned (e.g. put the XML away, stop making everything a damn GoF design pattern, stop trying to create mega class hierarchies, favor small libraries over mega frameworks).
I will say Joshua Bloch's Effective Java is something ever Java dev should have read at some point.
I will say Joshua Bloch's Effective Java is something ever Java dev should have read at some point.