Covers Java best practices, design patterns, generics, concurrency, and performance optimization through practical examples ...
These are some great DIY projects that you can do for cheap.