Although I do not finish all of books or materials, but those are I think worth to read. I also suggest you should read any talks, books, or essays that are came from Joshua Bloch.

  • Books
    • Effective Java, 2nd by Joshua Bloch
      • I think every companies should give it to their Java developers. Even in Java 8, I thought it still work for most of part. However, it would be publish 3rd edition this year, you could wait for it. Although, I could not wait for it, I hope it could be release as soon as possible.
    • Java Generics and Collection
      • It explains different Collections in depth and teach we how to use those Collections. It also teaches we the Generics. To have good designs in Java, it would be essential to familiar with Generic.
    • Java Concurrency in Practice
      • In modern software, we need to deal lots of concurrent situations, I thought this book would let we know how JVM handle threads in detailed.
    • Core Java Volume I & II
      • Those are two of the best books I would recommend to newcomer even we have some experiences, because those walk thought every part of Java platform. For experienced Java developers, I thought it still worth to revisit. By the way, I highly recommend Scala for the Impatient which is written by the same author - Cay S. Horstmann.
    • Java 8 in Action
      • This is the best book I could think about. We would know how to work with new features in Java 8. For example, new date time api, CompletableFuture, lambda…etc. It’s even teach we how to think functionally.
  • Talks