Java is a general-purpose, class-based, object-oriented programming language that is designed to be portable and deliver high performance. It achieves portability by compiling Java code to bytecode that runs on the Java Virtual Machine (JVM) which is available for many hardware and software platforms. Key features of Java include being write once, run anywhere, object-oriented, platform independent, simple, secure, robust, multithreaded, and dynamic. Java applications can run on desktops, servers, mobile devices, and other platforms.