In general purpose Java is pure object oriented programming language with platform independant factor while C++ is more of middle level language which is closer to machine and user. In application world C++ is prefered in core backend system resource development, while java is more towards graphical User friendly for the programmer. Both are compilers but Java has its own interpreter for jvm byte code. Thank you