# Java glossary

237 Java terms, from Novice to Master. Start with the basics or jump to a level.

Updated: October 16, 2026

## Novice

- [.java File Extension](https://www.ask-codey.com/glossary/java-file-extension): The filename ending used for a Java source file.
- [Arithmetic Operators](https://www.ask-codey.com/glossary/arithmetic-operators-java): Symbols such as +, -, \*, /, and % that perform calculations.
- [Assignment](https://www.ask-codey.com/glossary/assignment-java): Storing a value in a variable with the = operator.
- [Block Comment](https://www.ask-codey.com/glossary/block-comment): A comment enclosed by /\* and \*/ that can cover several lines.
- [boolean](https://www.ask-codey.com/glossary/boolean-java): A primitive type whose only values are true and false.
- [char](https://www.ask-codey.com/glossary/char): A primitive type that stores one UTF-16 code unit.
- [Class](https://www.ask-codey.com/glossary/class-java): A blueprint that describes the data and behavior of objects.
- [Comment](https://www.ask-codey.com/glossary/comment-java): Text for people reading the code that the compiler ignores.
- [Comparison Operators](https://www.ask-codey.com/glossary/comparison-operators-java): Operators that compare two values and produce true or false.
- [Compilation](https://www.ask-codey.com/glossary/compilation): The step that checks Java source code and converts it into bytecode.
- [Compile Error](https://www.ask-codey.com/glossary/compile-error): A problem that prevents Java source code from being compiled.
- [Compiler (javac)](https://www.ask-codey.com/glossary/compiler-javac): The JDK tool that turns Java source code into bytecode.
- [Curly Braces](https://www.ask-codey.com/glossary/curly-braces): The { and } characters that surround a class, method, or other block.
- [Data Type](https://www.ask-codey.com/glossary/data-type-java): A rule describing what kind of value something can hold and what operations it supports.
- [Declaration](https://www.ask-codey.com/glossary/declaration): A statement that introduces a variable, method, class, or other named item.
- [double](https://www.ask-codey.com/glossary/double): A primitive type for numbers that can include a fractional part.
- [else if Statement](https://www.ask-codey.com/glossary/else-if-statement): An additional condition tested when earlier if conditions were false.
- [if Statement](https://www.ask-codey.com/glossary/if-statement-java): A statement that runs code only when its condition is true.
- [Increment Operator](https://www.ask-codey.com/glossary/increment-operator): The ++ operator, which adds one to a numeric variable.
- [Initialization](https://www.ask-codey.com/glossary/initialization): Giving a variable its first value when it is created.
- [int](https://www.ask-codey.com/glossary/int): A primitive type for whole numbers within a fixed range.
- [Java](https://www.ask-codey.com/glossary/java): A widely used programming language that runs on many kinds of computers through the Java Virtual Machine.
- [Java Development Kit (JDK)](https://www.ask-codey.com/glossary/java-development-kit-jdk): The tools needed to write, compile, and run Java programs.
- [Java Runtime Environment (JRE)](https://www.ask-codey.com/glossary/java-runtime-environment-jre): The software needed to run Java programs, including the JVM and standard libraries.
- [Java Virtual Machine (JVM)](https://www.ask-codey.com/glossary/java-virtual-machine-jvm): The engine that runs compiled Java bytecode on a particular computer.
- [Javadoc Comment](https://www.ask-codey.com/glossary/javadoc-comment): A structured comment used to generate documentation for Java code.
- [Literal](https://www.ask-codey.com/glossary/literal): A value written directly in source code, such as 42, true, or "hello".
- [Logical Operators](https://www.ask-codey.com/glossary/logical-operators-java): Operators that combine or reverse boolean conditions.
- [main Method](https://www.ask-codey.com/glossary/main-method): The usual starting point of a Java application.
- [Method](https://www.ask-codey.com/glossary/method-java): A named block of code that performs an action and can return a value.
- [Narrowing Conversion](https://www.ask-codey.com/glossary/narrowing-conversion): An explicit numeric conversion that may lose range or precision.
- [Primitive Type](https://www.ask-codey.com/glossary/primitive-type): One of Java's basic value types, such as int, double, char, or boolean.
- [Runtime Error](https://www.ask-codey.com/glossary/runtime-error): A problem that occurs while a compiled program is running.
- [Semicolon](https://www.ask-codey.com/glossary/semicolon): The punctuation mark that ends most Java statements.
- [Single-Line Comment](https://www.ask-codey.com/glossary/single-line-comment): A comment beginning with // and continuing to the end of the line.
- [Source File](https://www.ask-codey.com/glossary/source-file): A text file containing Java code for the compiler to read.
- [String](https://www.ask-codey.com/glossary/string-java): An object that stores an unchangeable sequence of characters.
- [switch Statement](https://www.ask-codey.com/glossary/switch-statement): A statement that selects a code path by matching one value against cases.
- [System.out.println()](https://www.ask-codey.com/glossary/system-out-println): A method that prints a value followed by a new line.
- [Type Casting](https://www.ask-codey.com/glossary/type-casting): Explicitly converting a value to another compatible type.
- [Variable](https://www.ask-codey.com/glossary/variable-java): A named place that stores a value a program can use or change.
- [Widening Conversion](https://www.ask-codey.com/glossary/widening-conversion): An automatic numeric conversion to a type that can represent a wider range of values.

## Apprentice

- [@Test](https://www.ask-codey.com/glossary/test): Used to mark a function as a test in JUnit.
- [== versus equals()](https://www.ask-codey.com/glossary/versus-equals): A distinction where == compares references while equals() usually compares object content.
- [Array](https://www.ask-codey.com/glossary/array): A fixed-size, indexed collection whose elements all have the same type.
- [Array Index](https://www.ask-codey.com/glossary/array-index): A zero-based number that identifies an element's position in an array.
- [Array Initializer](https://www.ask-codey.com/glossary/array-initializer): A brace-enclosed list of values used to fill an array when it is created.
- [Array Length](https://www.ask-codey.com/glossary/array-length): The fixed number of elements an array can hold.
- [break](https://www.ask-codey.com/glossary/break-java): A statement that immediately exits the nearest loop or switch.
- [camelCase](https://www.ask-codey.com/glossary/camelcase): A naming style that starts lowercase and capitalizes each later word.
- [case Label](https://www.ask-codey.com/glossary/case-label): A possible value that a switch statement can match.
- [Command-Line Argument](https://www.ask-codey.com/glossary/command-line-argument): A string passed to a Java program when it starts.
- [Constant](https://www.ask-codey.com/glossary/constant-java): A named value intended not to change after initialization.
- [continue](https://www.ask-codey.com/glossary/continue-java): A statement that skips the rest of the current loop repetition.
- [default Label](https://www.ask-codey.com/glossary/default-label): The switch path used when no case matches.
- [Division](https://www.ask-codey.com/glossary/division): 5 / 2 = 2 -- the remainder is discarded.
- [do-while Loop](https://www.ask-codey.com/glossary/do-while-loop): A loop that runs its body once before checking whether to repeat.
- [Enhanced for Loop](https://www.ask-codey.com/glossary/enhanced-for-loop): A loop that visits each element of an array or iterable collection.
- [enum](https://www.ask-codey.com/glossary/enum-java): A type that defines a fixed set of named constants.
- [Enumeration Constant](https://www.ask-codey.com/glossary/enumeration-constant): One of the named values declared inside an enum.
- [equals()](https://www.ask-codey.com/glossary/equals): A method used to test whether two objects have equal content.
- [equalsIgnoreCase()](https://www.ask-codey.com/glossary/equalsignorecase): A String method that compares text without treating letter case as different.
- [Escape Sequence](https://www.ask-codey.com/glossary/escape-sequence): A backslash code that represents a special character inside a string or character literal.
- [final](https://www.ask-codey.com/glossary/final): A modifier that prevents reassignment, overriding, or inheritance depending on where it is used.
- [for Loop](https://www.ask-codey.com/glossary/for-loop-java): A loop that keeps its setup, condition, and update together.
- [Fully Qualified Name](https://www.ask-codey.com/glossary/fully-qualified-name): A type's complete name including its package.
- [import Statement](https://www.ask-codey.com/glossary/import-statement): A declaration that lets code use a type by its short name.
- [Infinite Loop](https://www.ask-codey.com/glossary/infinite-loop-java): A loop whose stopping condition never becomes false.
- [Instance Variable](https://www.ask-codey.com/glossary/instance-variable): A field stored separately in every object created from a class.
- [Java API](https://www.ask-codey.com/glossary/java-api): The standard classes and interfaces supplied with the Java platform.
- [Java Naming Conventions](https://www.ask-codey.com/glossary/java-naming-conventions): Common capitalization patterns that make Java names consistent and recognizable.
- [java.util.Random](https://www.ask-codey.com/glossary/java-util-random): A class that produces pseudorandom values of several primitive types.
- [Local Variable](https://www.ask-codey.com/glossary/local-variable-java): A variable declared inside a method or block and usable only there.
- [Loop Counter](https://www.ask-codey.com/glossary/loop-counter): A numeric variable used to track loop repetitions or positions.
- [Math Class](https://www.ask-codey.com/glossary/math-class): A standard class containing constants and static mathematical methods.
- [Math.random()](https://www.ask-codey.com/glossary/math-random): A method that returns a pseudorandom double from 0.0 up to, but not including, 1.0.
- [Method Argument](https://www.ask-codey.com/glossary/method-argument): A value supplied to a parameter when a method is called.
- [Method Overloading](https://www.ask-codey.com/glossary/method-overloading): Defining methods with the same name but different parameter lists.
- [Method Parameter](https://www.ask-codey.com/glossary/method-parameter): A named input declared by a method.
- [Multidimensional Array](https://www.ask-codey.com/glossary/multidimensional-array): An array whose elements are themselves arrays.
- [Nested Loop](https://www.ask-codey.com/glossary/nested-loop-java): A loop placed inside another loop.
- [Package](https://www.ask-codey.com/glossary/package-java): A named group used to organize related Java types and avoid naming conflicts.
- [Random Number](https://www.ask-codey.com/glossary/random-number): A value selected by a generator so its next result is difficult to predict casually.
- [Recursion](https://www.ask-codey.com/glossary/recursion-java): A technique in which a method calls itself with a smaller version of the problem.
- [Return Type](https://www.ask-codey.com/glossary/return-type): The type of value a method promises to return.
- [Return Value](https://www.ask-codey.com/glossary/return-value-java): The result a method sends back to its caller.
- [Scanner](https://www.ask-codey.com/glossary/scanner): A standard-library class commonly used to read typed input.
- [Scope](https://www.ask-codey.com/glossary/scope-java): The part of a program where a name can be used.
- [Standard Input](https://www.ask-codey.com/glossary/standard-input): The input stream a program normally reads from the keyboard or its launching process.
- [Static Variable](https://www.ask-codey.com/glossary/static-variable): A field shared by every object of a class.
- [String Concatenation](https://www.ask-codey.com/glossary/string-concatenation-java): Joining strings end to end, commonly with the + operator.
- [String Immutability](https://www.ask-codey.com/glossary/string-immutability): The rule that a String's character sequence cannot change after the object is created.
- [String Index](https://www.ask-codey.com/glossary/string-index): A zero-based position used to locate a character in a String.
- [String Interpolation](https://www.ask-codey.com/glossary/string-interpolation): Inserting values into text; Java normally uses formatting methods rather than interpolated string literals.
- [String Length](https://www.ask-codey.com/glossary/string-length): The number of UTF-16 code units in a String.
- [StringBuilder](https://www.ask-codey.com/glossary/stringbuilder): A class for efficiently building or changing a sequence of characters.
- [substring()](https://www.ask-codey.com/glossary/substring): A String method that returns part of an existing string.
- [Ternary Operator](https://www.ask-codey.com/glossary/ternary-operator): The ?: operator, which chooses one of two values from a condition.
- [Ternary Operator](https://www.ask-codey.com/glossary/ternary-operator-java): A single line if/else statement.
- [Text Block](https://www.ask-codey.com/glossary/text-block): A multiline string literal enclosed by three double quotes.
- [var](https://www.ask-codey.com/glossary/var): A reserved type name that asks the compiler to infer a local variable's type.
- [void](https://www.ask-codey.com/glossary/void): A return type showing that a method returns no value.
- [while Loop](https://www.ask-codey.com/glossary/while-loop-java): A loop that repeats while its condition remains true.

## Journeyman

- [Aggregation](https://www.ask-codey.com/glossary/aggregation): A relationship where one object uses another object that can exist independently.
- [Annotation](https://www.ask-codey.com/glossary/annotation): A way of  marking a method so that the runtime knows to use it a certain way..
- [Assertion](https://www.ask-codey.com/glossary/assertion): A development-time check that reports when an expected condition is false.
- [AssertJ](https://www.ask-codey.com/glossary/assertj): A Java library that gives Java fluent, readable assertions.
- [Association](https://www.ask-codey.com/glossary/association): A general relationship in which objects know about or work with one another.
- [Buffered Reader](https://www.ask-codey.com/glossary/buffered-reader): A reader that buffers characters so text can be read efficiently.
- [catch Block](https://www.ask-codey.com/glossary/catch-block): A block that handles a matching exception from its try block.
- [Checked Exception](https://www.ask-codey.com/glossary/checked-exception): An exception the compiler requires code to catch or declare.
- [Composition](https://www.ask-codey.com/glossary/composition): Building a class from other objects that handle parts of its work.
- [Constructor](https://www.ask-codey.com/glossary/constructor): Special class code that initializes a new object.
- [Constructor Chaining](https://www.ask-codey.com/glossary/constructor-chaining): Calling another constructor so initialization logic can be reused.
- [Custom Exception](https://www.ask-codey.com/glossary/custom-exception-java): An application-specific exception type created by extending an exception class.
- [Default Constructor](https://www.ask-codey.com/glossary/default-constructor): A no-argument constructor supplied by the compiler when a class declares none.
- [Default Method](https://www.ask-codey.com/glossary/default-method): An interface method with an implementation inherited by implementing classes.
- [Dynamic Dispatch](https://www.ask-codey.com/glossary/dynamic-dispatch): Choosing an overridden instance method at runtime from the object's actual class.
- [Encapsulation](https://www.ask-codey.com/glossary/encapsulation-java): Keeping an object's data behind methods that control how it is read or changed.
- [Exception](https://www.ask-codey.com/glossary/exception-java): An object describing a problem that interrupts normal program flow.
- [Exception Handling](https://www.ask-codey.com/glossary/exception-handling): Using try, catch, and related statements to respond to failures.
- [Field](https://www.ask-codey.com/glossary/field): A variable declared in a class and stored with an object or the class itself.
- [File](https://www.ask-codey.com/glossary/file): A filesystem path together with operations for inspecting or managing it.
- [File Input/Output](https://www.ask-codey.com/glossary/file-input-output): Reading data from files and writing data to files.
- [finally Block](https://www.ask-codey.com/glossary/finally-block): A block that normally runs after try and catch whether an exception occurred or not.
- [Getter](https://www.ask-codey.com/glossary/getter): A method that returns an object's stored value.
- [hashCode()](https://www.ask-codey.com/glossary/hashcode): A method that produces an integer used by hash-based collections.
- [Inheritance](https://www.ask-codey.com/glossary/inheritance-java): Creating a class that receives accessible members from another class.
- [Instance](https://www.ask-codey.com/glossary/instance-java): A particular object created from a class.
- [instanceof](https://www.ask-codey.com/glossary/instanceof): An operator that tests whether an object is compatible with a given type.
- [Interface](https://www.ask-codey.com/glossary/interface): A contract describing behavior that implementing classes agree to provide.
- [java.nio.file](https://www.ask-codey.com/glossary/java-nio-file): The package containing modern APIs for paths, files, directories, and file operations.
- [Method Overriding](https://www.ask-codey.com/glossary/method-overriding-java): Providing a subclass version of an inherited instance method.
- [Mockito](https://www.ask-codey.com/glossary/mockito): The standard Java library for mocking objects for unit tests.
- [Multiple Inheritance](https://www.ask-codey.com/glossary/multiple-inheritance): Inheriting from more than one parent type, supported in Java through interfaces rather than classes.
- [new Keyword](https://www.ask-codey.com/glossary/new-keyword): An operator that creates an object or array and returns its reference.
- [Object](https://www.ask-codey.com/glossary/object): A class instance that combines its own state with available behavior.
- [Object Class](https://www.ask-codey.com/glossary/object-class): The root class from which every Java class ultimately inherits.
- [Object Equality](https://www.ask-codey.com/glossary/object-equality): The rules that decide when two objects should count as having the same value.
- [Package-Private Access](https://www.ask-codey.com/glossary/package-private-access): The default access that limits a type or member to its package.
- [Path](https://www.ask-codey.com/glossary/path): A modern Java representation of a location in a filesystem.
- [Polymorphism](https://www.ask-codey.com/glossary/polymorphism-java): Using one declared type to work with objects that provide different implementations.
- [private](https://www.ask-codey.com/glossary/private): An access modifier that limits a member to its declaring top-level class.
- [protected](https://www.ask-codey.com/glossary/protected): An access modifier that permits package access and access through subclasses.
- [public](https://www.ask-codey.com/glossary/public): An access modifier that makes a type or member broadly accessible.
- [Reference Variable](https://www.ask-codey.com/glossary/reference-variable): A variable that stores a reference to an object rather than the object itself.
- [Serialization](https://www.ask-codey.com/glossary/serialization): Converting an object's state into data that can be stored or transferred.
- [Setter](https://www.ask-codey.com/glossary/setter): A method that validates or changes an object's stored value.
- [Stack Trace](https://www.ask-codey.com/glossary/stack-trace): A report showing the active method calls at the point an error occurred.
- [Static Interface Method](https://www.ask-codey.com/glossary/static-interface-method): A utility method that belongs to an interface rather than its implementations.
- [Subclass](https://www.ask-codey.com/glossary/subclass): A class that extends another class.
- [super](https://www.ask-codey.com/glossary/super-java): A reference used to access a superclass constructor or member.
- [Superclass](https://www.ask-codey.com/glossary/superclass): The class that another class directly extends.
- [this](https://www.ask-codey.com/glossary/this): A reference to the current object inside its instance code.
- [throw](https://www.ask-codey.com/glossary/throw): A statement that deliberately raises an exception object.
- [throws](https://www.ask-codey.com/glossary/throws): A method declaration clause listing exceptions callers may need to handle.
- [toString()](https://www.ask-codey.com/glossary/tostring): A method that returns a readable text representation of an object.
- [transient](https://www.ask-codey.com/glossary/transient): A field modifier that excludes the field from Java's default serialization.
- [try Block](https://www.ask-codey.com/glossary/try-block): A block containing code that may throw an exception.
- [Unchecked Exception](https://www.ask-codey.com/glossary/unchecked-exception): A runtime exception the compiler does not require code to catch or declare.

## Freelancer

- [ArrayList](https://www.ask-codey.com/glossary/arraylist): A resizable List backed by an array.
- [Autoboxing](https://www.ask-codey.com/glossary/autoboxing): The compiler's automatic conversion from a primitive value to its wrapper object.
- [Binary Search - Java](https://www.ask-codey.com/glossary/binary-search-java): A Binary Search is a searching algorithm used to search a collection or array.
- [Bounded Wildcard](https://www.ask-codey.com/glossary/bounded-wildcard): A wildcard restricted to types above or below a stated type in the hierarchy.
- [Build Tool](https://www.ask-codey.com/glossary/build-tool): Software that automates compiling, testing, packaging, and dependency resolution.
- [collect()](https://www.ask-codey.com/glossary/collect): A terminal stream operation that gathers results into a collection or other container.
- [Collection Framework](https://www.ask-codey.com/glossary/collection-framework): Java's standard interfaces and classes for storing and working with groups of objects.
- [Comparable](https://www.ask-codey.com/glossary/comparable): An interface a class implements to define its natural ordering.
- [Comparator](https://www.ask-codey.com/glossary/comparator): An object that defines an external ordering for values.
- [Date-Time API](https://www.ask-codey.com/glossary/date-time-api): The java.time types for working with dates, times, durations, and time zones.
- [Debugger](https://www.ask-codey.com/glossary/debugger): A tool for pausing a program and inspecting its execution state.
- [Dependency](https://www.ask-codey.com/glossary/dependency): External code that a project needs to compile or run.
- [Deque](https://www.ask-codey.com/glossary/deque-java): A double-ended queue that adds and removes elements at either end.
- [filter()](https://www.ask-codey.com/glossary/filter-java): A stream operation that keeps only elements passing a test.
- [Functional Interface](https://www.ask-codey.com/glossary/functional-interface): An interface with one abstract method that can be implemented by a lambda.
- [Generics](https://www.ask-codey.com/glossary/generics): Type parameters that let classes and methods work safely with different reference types.
- [Gradle](https://www.ask-codey.com/glossary/gradle): A build automation tool configured with Groovy or Kotlin scripts.
- [HashMap](https://www.ask-codey.com/glossary/hashmap): A hash-based Map with no guaranteed iteration order.
- [HashSet](https://www.ask-codey.com/glossary/hashset): A hash-based Set with no guaranteed iteration order.
- [Intermediate Operation](https://www.ask-codey.com/glossary/intermediate-operation): A lazy stream operation that transforms or filters values and returns another stream.
- [Iterator](https://www.ask-codey.com/glossary/iterator-java): An object that visits collection elements one at a time.
- [JAR File](https://www.ask-codey.com/glossary/jar-file): A ZIP-based archive that packages Java classes and related resources.
- [JUnit](https://www.ask-codey.com/glossary/junit): A popular Java framework for writing and running automated tests.
- [Lambda Expression](https://www.ask-codey.com/glossary/lambda-expression): A compact function-like value that implements a functional interface.
- [LinkedList](https://www.ask-codey.com/glossary/linkedlist): A List and Deque whose elements are connected as a chain of nodes.
- [List](https://www.ask-codey.com/glossary/list-java): An ordered collection that allows duplicate elements and positional access.
- [Logging](https://www.ask-codey.com/glossary/logging): Recording structured runtime events to help operate and diagnose software.
- [Map](https://www.ask-codey.com/glossary/map-java): A collection that associates unique keys with values.
- [map()](https://www.ask-codey.com/glossary/map-java-2): A stream operation that transforms each element into another value.
- [Maven](https://www.ask-codey.com/glossary/maven): A build and dependency-management tool configured mainly with pom.xml.
- [Method Reference](https://www.ask-codey.com/glossary/method-reference): A compact lambda form that points to an existing method with ::.
- [Mock Object](https://www.ask-codey.com/glossary/mock-object): A controlled stand-in used to verify how code interacts with a dependency.
- [Optional](https://www.ask-codey.com/glossary/optional): A container that explicitly represents either one non-null value or no value.
- [Queue](https://www.ask-codey.com/glossary/queue): A collection designed to hold elements waiting to be processed.
- [reduce()](https://www.ask-codey.com/glossary/reduce): A stream operation that combines elements into one result.
- [Regular Expression](https://www.ask-codey.com/glossary/regular-expression-java): A text pattern used to find, validate, or replace matching characters.
- [Set](https://www.ask-codey.com/glossary/set-java): A collection that does not keep duplicate elements.
- [Stream](https://www.ask-codey.com/glossary/stream): A pipeline for processing a sequence of values without storing the values itself.
- [Stream Pipeline](https://www.ask-codey.com/glossary/stream-pipeline): A stream source followed by intermediate operations and one terminal operation.
- [Terminal Operation](https://www.ask-codey.com/glossary/terminal-operation): A stream operation that produces a result or side effect and ends the pipeline.
- [Test Fixture](https://www.ask-codey.com/glossary/test-fixture-java): The known objects and data prepared for a test.
- [TreeMap](https://www.ask-codey.com/glossary/treemap): A Map that keeps its keys sorted.
- [TreeSet](https://www.ask-codey.com/glossary/treeset): A sorted Set that keeps elements in their natural or supplied order.
- [Type Erasure](https://www.ask-codey.com/glossary/type-erasure): The compiler process that removes most generic type details from runtime bytecode.
- [Type Parameter](https://www.ask-codey.com/glossary/type-parameter): A placeholder type declared by a generic class, interface, or method.
- [Unboxing](https://www.ask-codey.com/glossary/unboxing): The compiler's automatic conversion from a wrapper object to its primitive value.
- [Unit Test](https://www.ask-codey.com/glossary/unit-test): A small automated check of one focused unit of behavior.
- [Wildcard Type](https://www.ask-codey.com/glossary/wildcard-type): A ? type argument representing an unknown reference type.
- [Wrapper Class](https://www.ask-codey.com/glossary/wrapper-class): An object type corresponding to a primitive, such as Integer for int.

## Master

- [Atomic Variable](https://www.ask-codey.com/glossary/atomic-variable): A value supporting thread-safe single operations without an explicit lock.
- [Bytecode](https://www.ask-codey.com/glossary/bytecode-java): Platform-independent instructions produced by the Java compiler for the JVM.
- [Class Loader](https://www.ask-codey.com/glossary/class-loader): A JVM component that finds class data and creates runtime Class objects.
- [Classpath](https://www.ask-codey.com/glossary/classpath): The locations where Java looks for classes and resources outside named modules.
- [CompletableFuture](https://www.ask-codey.com/glossary/completablefuture): A Future that supports asynchronous stages and completion callbacks.
- [Deadlock](https://www.ask-codey.com/glossary/deadlock): A state where threads wait forever for locks held by one another.
- [Executor Service](https://www.ask-codey.com/glossary/executor-service): A service that manages worker threads and schedules submitted tasks.
- [Future](https://www.ask-codey.com/glossary/future): A handle for a result that may become available later.
- [Garbage Collection](https://www.ask-codey.com/glossary/garbage-collection): Automatic recovery of heap memory from objects a program can no longer reach.
- [Heap Memory](https://www.ask-codey.com/glossary/heap-memory): Runtime memory where Java objects and arrays are generally stored.
- [HotSpot JVM](https://www.ask-codey.com/glossary/hotspot-jvm): A widely used JVM implementation that optimizes frequently executed code.
- [Java Memory Model](https://www.ask-codey.com/glossary/java-memory-model): The rules describing how threads observe shared memory and coordinate changes.
- [Java Platform Module System](https://www.ask-codey.com/glossary/java-platform-module-system): Java's built-in system for reliable configuration and strong module boundaries.
- [Just-in-Time Compilation](https://www.ask-codey.com/glossary/just-in-time-compilation): Runtime compilation of frequently used bytecode into native machine code.
- [Memory Leak](https://www.ask-codey.com/glossary/memory-leak): Unwanted memory growth caused by retaining references to objects no longer needed.
- [Module System](https://www.ask-codey.com/glossary/module-system): A way to group packages with explicit dependencies and exported APIs.
- [module-info.java](https://www.ask-codey.com/glossary/module-info-java): A source file that declares a Java module's name, dependencies, and exported packages.
- [Monitor Lock](https://www.ask-codey.com/glossary/monitor-lock): The intrinsic lock associated with every Java object.
- [OutOfMemoryError](https://www.ask-codey.com/glossary/outofmemoryerror): An error raised when the JVM cannot allocate required memory.
- [Race Condition](https://www.ask-codey.com/glossary/race-condition-java): A bug where a result depends on unpredictable timing between threads.
- [Record Class](https://www.ask-codey.com/glossary/record-class): A compact class for immutable-style data whose core members are generated by the compiler.
- [Reflection](https://www.ask-codey.com/glossary/reflection): Inspecting and using types, members, and annotations at runtime.
- [Runnable](https://www.ask-codey.com/glossary/runnable): A functional interface representing work that can be run by a thread or executor.
- [Sealed Class](https://www.ask-codey.com/glossary/sealed-class): A class or interface that explicitly limits which types may extend or implement it.
- [Stack Memory](https://www.ask-codey.com/glossary/stack-memory): Per-thread memory holding method frames, local values, and return information.
- [Synchronization](https://www.ask-codey.com/glossary/synchronization): Coordinating threads so shared state is accessed safely and changes are visible.
- [Thread](https://www.ask-codey.com/glossary/thread): An independently scheduled path of execution inside a process.
- [Volatile Variable](https://www.ask-codey.com/glossary/volatile-variable): A field whose reads and writes have special cross-thread visibility guarantees.

[More subjects in Languages](https://www.ask-codey.com/glossary/groups/languages)

Source: https://www.ask-codey.com/glossary/subjects/java
