When Java was introduced, it primarily consisted of two components: the programming language specification, and the Java runtime environment specification that described the features of a JVM. As the Java language evolved over the years, Sun Microsystems gradually added new specifications and technologies that made Java more than just a programming language.