Java is an object-oriented programming language that is platform independent. It compiles to bytecode that runs on a Java Virtual Machine (JVM) available for most operating systems. Key features of Java include being object-oriented, compiled and interpreted, platform independent, distributed, multi-threaded, dynamic, and robust/secure. The Java Development Kit (JDK) includes tools like compilers while the Java Runtime Environment (JRE) contains libraries and the JVM needed to run Java applications. Integrated development environments (IDEs) provide tools to write and test Java code.