This document provides an overview of basic Java concepts including Java files, class files, bytecode, JAR files, the Java Virtual Machine (JVM), Java Development Kit (JDK), Java Runtime Environment (JRE), heap memory, permgen space, and threads. It defines these terms and explains the relationships between Java files, class files, bytecode, and the JVM/JRE. Screenshots from JVisualVM are included to illustrate the heap, classes, and threads in use by Eclipse.