This book is great and uses Java examples and JUnit. I try to look at this one every week.
Ken Beck’s awesome book with Java examples is another frequent resource.
This book was very helpful in learning about the what can and will go wrong in large scale Java applications. Also how to design to fail and recover quickly and consistently.