Java is a programming language that is simple, object-oriented, and robust. It allows programs to be portable across platforms and provides automatic memory management through garbage collection. Key features of Java include its platform independence through bytecode, its object-oriented approach, networking capabilities, security features, performance through just-in-time compilation, and support for multithreading. Java code is compiled to bytecode that can run on any Java Virtual Machine, making programs highly portable.