Components of the Java Runtime Environment and Java Development Kit
The Java Development Kit (JDK) and Java Runtime Environment (JRE) include the basic components used to develop Java applications & libraries and to run Java applications. These components are organized as follows:
Note that there’s a hierarchical relationship between these components: The JCL and JVM are included in the JRE, which is itself included in the JDK.
This resource presents an overview of key elements and features—a small but important subset—of the JRE & JDK.1 This overview may be accompanied by simple exercises, executed in a shell (Bash in OS X or Linux, Git Bash or Command Prompt in Windows), and using a simple text editor. The reason for this choice of environments is simple: When we use an IDE (such as IntelliJ IDEA, NetBeans, or Eclipse), many details of the interaction of the IDE with the JRE & JDK are hidden from us. For this introduction, it’s important that we understand some of these details that are usually hidden from us.
The tasks that may accompany this material will vary, depending on available time and interest, but they will typically include:
static
method of a class in the JCL, and by creating an instance of another class and invoking a method on that instance.There are no special setup requirements for reading the content of this module. However, to complete any accompanying tasks, JDK 11 or higher must be installed and configured, so that the JAVA_HOME
environment variable refers to the JDK installation directory, and so that the bin
subdirectory of the directory referenced by JAVA_HOME
is included in the PATH
environment variable.
There’s a significant overlap between the subset addressed here and the Java platform questions typically included in the Oracle Java Programmer I certification exam. ↩