Java and C++ are similar languages both encouraging users to develop employ ObjectOrientation. As hype would have it, C++ is better suited to tailoring a program to the specifics of a particular environment whereas Java stresses portability and promotes approaches more suited to large scale application development.
Therefore C++ is more and more being used for smaller applications targeting a specific environment where split second timing and the amount of space used are critical. Java is used mostly for large scale applications which are able to run in many different environments and where extensibility and long term maintainability are critical.
2 pages link to JavaAndC++: