Java programs run on the Java Virtual Machine (JVM). The JVM provides a runtime environment that executes Java bytecode. Key aspects of Java include its use of object-oriented programming, garbage collection, and strong typing. Popular integrated development environments for Java include Eclipse and IntelliJ IDEA.