Java is an object-oriented programming language that is designed to be portable so that code can run on any device. It was created in response to limitations of C++ in terms of portability and security. Java removes many low-level features of C++ like pointers and instead focuses on object-oriented aspects. Compared to C++, Java does not support operator overloading or automatic type conversions. The document provides an overview of Java and how it compares to C and C++ in order to highlight its portability and security advantages for web and internet applications.