| Applet | A Java program designed to run as part of an HTML page. Applets are hosted by a Web browser and can add programmability to web pages. |
| Byte code | The binary output of the Java compiler. Byte code is an intermediate form that the JVM translates into native code at runtime. Since byte code is not machine-specific, it makes Java programs portable. |
| Class | A unit of Java code. A class defines data (also known as fields or instance variables) and methods. Classes act as blueprints for objects. |
| Constructor | A method in a class that participates in object construction. A constructor must have the same name as the class and have no return value. Most constructors initialize instance variables. |
| Encapsulation | A programming technique in which parts of the program are hidden (i.e. a black box). That lets the developer change the hidden features without affecting other parts of the program. One of the three pillars of object-orientation (others are inheritance and polymorphism). |
| Garbage collection | A technique in which the runtime environment takes care of de-allocating dynamic memory. In Java, the JVM garbage collects by periodically scanning the heap and freeing objects that are not referenced. |
| Inheritance | A programming technique that promotes re-use in an object- oriented program. Inheritance lets subclasses inherit state and behavior from superclasses. One of the three pillars of object orientation (others are encapsulation and polymorphism). |
| Instatiation | The act of creating an object, which are referred to as instances of a class. In Java, you use the "new" operator to instantiate objects. |
| Interface | Interfaces define one or methods but don't provide any implementation for the methods (the methods can have no code). A class can implement one or more interfaces. Thus, interfaces define sets of behavior that can be provided by classes. |
| Interpreted language | A programming language that is translated into machine code at runtime. |
| Just In Time (JIT) Compiler | A feature of a JVM that converts Java byte code into native machine code all at once, thus providing better performance than a true interpreter. |
| JVM | A Java Virtual Machine provides an environment for running a Java program. The JVM translates the byte codes from a .class file into native code for execution. |
| Method | A unit of behavior within a class. Similar to functions, procedures or subprograms in other programming languages. |
| Object Orientation | A programming philosophy that attempts to model real-world objects in programs. Uses encapsulation, inheritance and polymorphism. |
| Overloading | The act of writing multiple methods in a class with the same name. The overloaded methods each must have a different method signature. |
| Overriding | The act of writing a subclass method that has the same signature as a method in a superclass. The new method "overrides" the superclass method. |
| Package | A organizing unit that holds Java classes and/or interfaces. Packages correspond to file-system directories with the same name. |
| Polymorphism | A programming technique that lets a subclass override behavior provided by a superclass. See inheritance. Polymorphism is one of the three pillars of object orientation, the others being encapsulation and inheritance. |
| Signature (method) | The name and argument types of a method. |
| Subclass and Superclass | With inheritance, you can extend classes by writing a new class that inherits behavior and state from an existing class. The new class is referred to as the subclass while the existing class is referred to as the superclass. |
| Unicode | A system of mapping characters to binary codes. Similar to ASCII, but uses 16 or 32-bit characters to allow for characters from most of the world's national languages. |