back on topic...
i see two big differences between c++ and java:
1. c++ was designed and maintained, for a long time, as a core language that tried to avoid forcing implementation on its user base. a friend of mine was on the standards committee for years, and he told me this was the reason they chose not to define standards for things like a string class (this was a long time ago), which gave rise to companies like RogueWave. Sun, otoh, had no qualms about adding all sorts of packages to java from the get-go, plus defining standards for things such as inter-machine communcation and even development environments.
2. java grew up in the internet age and focused to a high degree on portability and runtime environments. while the core of c++ (see #1) is portable, the things that developers code to make them run in an environment turned out to be very non-portable (an unfortunate fallout of the early committment to avoid forcing implemenation). to that end, i feel that learning java gives one a leg up on having skills that work on a variety of platforms as provided by the language, as opposed to, in c++, having to rely on 3rd-party vendors providing portability across platforms.