Design Patterns by GOF is really good. I also like the Deitel books and Effective C++. And the Qt book of course.

As for C++ vs. Java discussions in general I must say I find them quite silly, biased and prejudiced most of the time. I have both formal training and professional experience with both C++ and Java, and I must say that they are both great languages. Which language to pick really depends on what problem you have at hand. C++ is great on the desktop and on embedded. Java is great on the server and quite allright on embedded too. Both languages have quirks and, uhm, faults, but... please, base your discussion on something else than ignorance, prejudice and what you want to believe.

Talking about Java... have you guys checked out Jambi yet?