www.cplusplus.com is quite good.
Java is good for it's strengths which is easy portability (though unfortunately it isn't truly cross platform) but the virtual machine has resource costs involved. C++ is good when you want to make something efficient and powerful.
I know I'll have to get back into Java (or whatever term you'd give Java in a Dalvik VM <3 Android) but I've been putting it off.
On a side note, C# is quite good in the end. Got into that for XNA.