I made this transition in 1996 or so when Java was newish. A book will definitely help. I used Laura Lemay's 21 day book, which is now up to rev 6. It took me 3 days to get through the original book and another week before I felt I was fully conversant.
Things to get used to:
- The language is not huge, but the support libraries are. There probably is already something that does what you want
- Garbage collection and sane memory management is awesome. My bug count plummeted in working with Java compared with C++
- Garbage collection and sane memory management sucks. I was writing performance critical applications and (at the time), I would've killed someone to get something similar to placement new or operator new overload.
- Garbage collection is not general resource collection (ie, open files etc). You still need to worry about that.
- I really missed having an integrated macro preprocessor. You can still use one, of course, but then your build has just gotten more complicated.