A virtual environment, responsible for the lifecycle of every Java-based program. Provides features for memory management, garbage collection, and so on.