This page contains a collection of acronyms and abbreviations often seen when working in Java-related areas. Some of these are lesser known acronyms used in mailing lists and some of these are more general than Java, but are frequently referenced in Java literature.
| ACRONYM | NAME | ADDITIONAL NOTES |
|---|---|---|
| ACL | Access Control List | "Data structure used to guard access to resources." (source) |
| AOT | Ahead-Of-Time | Java compiler approach. |
| AWT | Abstract Window Toolkit | Base Java graphical components and toolkit (versus Swing) |
| BNP | Binary Numeric Promotion | "bnp(...) means to apply binary numeric promotion" in evaluation of second and third operands of the conditional operator ? : |
| BSM | Bootstrap Method | Method associated with invokedynamic instruction. |
| CAP | Compatibility and Performance | "Collaborative effort between Oracle and partners to evaluate early-access builds of the Java Platform, Standard Edition (Java SE) against members’ applications." (source) |
| CLDR | Common Locale Data Repository | Unicode CLDR is used for software internationalization and localization |
| CMS | Concurrent Mark Sweep | HotSpot garbage collector removed with JDK 14. |
| CMVI | Common Virtual Machine Interface | "Common library interface for the three Free Software class libraries (Sun OpenJDK, GNU Classpath and Apache Harmony)." (source) |
| DA | Definitely Assigned | Used to describe a Java class's field is definitely assigned during a constructor. |
| DU | Definitely Unassigned | Used to describe a Java class's field is definitely not assigned (unassigned) during a constructor. |
| EA | Early Access | JDK releases that occur prior to General Availability (GA) release and have numerous "disclaimers" associated with them (may change before GA, less tested, not supported, etc.). |
| EAR | Enterprise ARchive | Archive file that "contains Java EE modules and, optionally, deployment descriptors." (source) |
| EC | Executive Committee | "Group of Members guiding the evolution of Java technology in the Java Community Process (JCP)" (source) |
| EG | Expert Group | "The group of JCP Members who collaborate on developing a Java Specification through a JSR."(source) |
| EJB | Enterprise JavaBean | Part of Java EE |
| FDT | Foward Declared Type | Term used in a Project Valhalla mailing list post |
| FQDN | Fully Qualified Domain Name | This is often referenced in Java literature when describing Java package naming. |
| FMT | String "template processor defined in the Java library" that "performs interpolation" and "interprets format specifiers". | Described in JEP 430: String Templates (Preview) |
| GA | General Availability | General release of OpenJDK or Oracle Java SE. |
| GADT | Generalized Algebraic Data Type | |
| GC | Garbage Collector | A garbage collector "automatically manages the application's dynamic memory allocation requests." (source) |
| G1 | Garbage First | AKA "G1GC" "Low-pause, server-style generational garbage collector for Java HotSpot VM." (source) |
| I18N | Internationalization | "Process of designing an application so that it can be adapted to various languages and regions without engineering changes." (source) |
| ICCE | IncompatibleClassChangeError | Represents error when JVM encounters "incompatibility between two compiled class definitions that are executing in tandem" (source) |
| IGV | Ideal Graph Visualizer | "The Ideal Graph Visualizer is a tool developed to help examine the intermediate representation of C2 which is commonly referred to as the 'ideal graph'." (source) |
| ITL | InheritableThreadLocal | Supports providing of data from parent thread to child thread (source) |
| JAAS | Java Authentication and Authorization Service | "Implements a Java version of the standard Pluggable Authentication Module (PAM) framework" and used for authentication and authorization of users (source). |
| JAR | Java ARchive | "File format enables you to bundle multiple files into a single archive file."(source) |
| JAXB | Java Architecture for XML Binding | Bind Java objects to underlying XML for marshalling and unmarshalling between them. |
| JAX-RS | Java API for RESTful Web Services | Java API for working with REST-based web services. |
| JAX-WS | Java API for XML Web Services | Java API for working with web services that are SOAP/WSDL-based. |
| JCA | Java Cryptography Architecture | "'Provider' architecture and a set of APIs for digital signatures, message digests (hashes), certificates and certificate validation, encryption (symmetric/asymmetric block/stream ciphers), key generation and management, and secure random number generation." (source) |
| JCE | Java Cryptography Extension | "Officially released Standard Extension to the Java Platform and part of Java Cryptography Architecture (JCA)" that "provides a framework and implementation for encryption, key generation and key agreement, and Message Authentication Code (MAC) algorithms." (source) |
| JCP | Java Community Process | "Open, participative process to develop and revise the Java™ technology specifications, reference implementations, and test suites"(source) |
| JDBC | JDBC | Often described as "Java Database Connectivity", "JDBC" is technically NOT an acronym and is a trademarked name, but it's widely used as an acronym anyway. |
| JDC | Java Developer Connection | "Sun's central place for developers to learn about new Java technology", formerly online at http://developer.java.sun.com/developer/ (no longer hosted) and provided JDC Tech Tips; required charge originally but then was free with registration. |
| JDI | Java Debug Interface | "High level Java API providing information useful for debuggers and similar systems needing access to the running state of a (usually remote) virtual machine." (source) |
| JDK | Java Development Kit | Implementation of the Java platform. |
| JEP | JDK Enhancement Proposal | "Process for collecting, reviewing, sorting, and recording the results of proposals for enhancements to the JDK."(source) |
| JFC | Java Foundation Classes | "comprehensive set of GUI components and services which dramatically simplify the development and deployment of commercial-quality desktop and Internet/Intranet applications." (source) |
| JFR | Java Flight Recorder | "Profiling tool used to gather diagnostics and profiling data from a running Java application." (source) |
| JIT | Just-In-Time | "Java compiler approach" (source) |
| JLBH | Java Latency Benchmarking Harness | "Tool that allows you to benchmark your code running in context, rather than in a microbenchmark." |
| JLI | java.lang.instrument | AKA J.L.I or .j.l.i, this references the java.lang.instrument package in the JDK |
| JLS | Java Language Specification | Specification for the Java programming language. |
| JMC | Java Mission Control | "JDK profiling and diagnostics tools platform for HotSpot JVM." (source) |
| JMH | Java Microbenchmark Harness | "Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targetting the JVM." (source) |
| JMM | Java Memory Model | "Defines how threads interact through memory.(source) |
| JMS | Java Message Service | "Java API that allows applications to create, send, receive, and read messages using reliable, asynchronous, loosely coupled communication." (source) |
| JMX | Java Management Extensions | Management and monitoring of Java-based applications. |
| JMXMP | JMX Messaging Protocol | Alternative to RMI for JMX connector (obsolete) |
| JNA | Java Native Access | Library/project similar to Java Native Interface (JNI), but intended to be easier to use. |
| JNDI | Java Naming and Directory Interface | Naming and directory support for Java applications. |
| JNF | Java Native Foundation | Framework supplied by Apple for Java with ObjectiveC development in early 2000s (see also Cocoa and XCode). JDK-8257852 describes JNF, "JavaNativeFoundation is a macOS framework which contains a number of different types of convenience support for Java applications that use native methods" (see also JDK-8042959). |
| JNI | Java Native Interface | "Standard programming interface for writing Java native methods and embedding the Java virtual machine into native applications." |
| JOL | Java Object Layout | "Tiny toolbox to analyze object layout schemes in JVMs." (source) |
| JPA | Java Persistence API | API for mapping Java objects to relational data |
| JRE | Java Runtime Environment | Java runtime environment that includes a JVM and at least a portion of a JDK. |
| JSF | JavaServer Faces | Java component-based web framework |
| JSP | JavaServer Pages | Java-based approach to generating web pages |
| JSR | Java Specification Request | "Document submitted to the PMO by one or more members to propose the development of a new specification or significant revision to an existing specification."(source) |
| JTA | Java Transaction API | API for working with transactions and a distributed transaction manager. |
| JUL | Java Util Logging | AKA J.U.L. or j.u.l., this references the logging framework built into the JDK, which approvides APIs via the java.util.logging package. |
| JVM | Java Virtual Machine | Environment in which Java (and other languages supporting compilation to Java .class files) applications can be executed. |
| JVMDI | Java Virtual Machine Debug Interface | Replaced by JVMTI in JDK 5 and dropped altogether in JDK 6. |
| JVMPI | Java Virtual Machine Profiler Interface | Replaced by JVMTI in JDK 5 and dropped altogether in JDK 6. |
| JVMS | Java Virtual Machine Specification | Specification for the Java Virtual Machine (JVM) |
| JVMTI | Java Virtual Machine Tool Interface | AKA "JVM TI" introduced with J2SE 5: "Standard native API that allows for native libraries to capture events and control a Java Virtual Machine (JVM) for the Java platform." (source) |
| J2EE | Java 2 Enterprise Edition | Former name for Java EE |
| J2ME | Java 2 Micro Edition | Java for mobile devices and embedded applications. |
| J2SE | Java 2 Standard Edition | Standard Java (as opposed to J2EE or Java EE) |
| LOTJ | Language Other Than Java | Refers to programming languages other than Java and is typically in reference to languages other than Java running on the JVM. |
| LUB | Least Upper Bound | "Set of reference types is a shared supertype that is more specific than any other shared supertype (that is, no other shared supertype is a subtype of the least upper bound)." (source) |
| L10N | Localization | "Process of adapting software for a specific region or language by adding locale-specific components and translating text." (source) |
| MP | Method Parameter | "A MethodParameters attribute records information about the formal parameters of a method, such as their names." (source) |
| NGD | No Good Default | Used to describe situations where an inline class has no sensible or reasonable "default" values to apply when no values are explicitly specified. Refers to "Bucket #3" in Dan Smith's "Revisiting default values" e-mail message regarding "'value-based classes'" that despite their "disavowing their identity, might not end up as inline classes" because there are no good default values for them or defaults might be "actively harmful." |
| NIO | New I/O | Non-blocking input/output that includes NIO.1 and NIO.2. |
| NMT | Native Memory Tracking | "NMT is a Java Hotspot VM feature that tracks internal memory usage for a HotSpot VM." (source) |
| NPE | NullPointerException | JDK-provided exception typically indicating attempt to dereference null |
| NSME | NoSuchMethodError | NoSuchMethodError is thrown when a particular Java method cannot be found at runtime. |
| OOM | OutOfMemory | This typically is referencing the JDK-provided OutOfMemoryError (error rather than exception) that indicates the JVM has run out of memory or experienced a similar memory-related error. |
| OSGi | OSGi | Originally an acronym for "Open Services Gateway initiative," but later became a trademarked name (no longer an acronym) for specification, reference implementation, and compliance tests constituting a "dynamic module system for Java" (source) |
| PMO | Program Management Office | "Group within Oracle designated to oversee the Java Community Process and manage the daily running of the program."(source) |
| POJI | Plain Old Java Interface | References regular Java interface that is not tied to any specific framework or technology. |
| POJO | Plain Old Java Object | References "regular Java class" (as opposed at the time to entity beans (EJB)) |
| PR | Pull Request | Request to pull changeset into baseline |
| RAW | Standard processor for working "with an unprocessed StringTemplate" |
Described in JEP 430: String Templates (Preview) |
| RC | Release Candidate | Phase in JEP 3-specified OpenJDK release process. |
| RDP 1 | Rampdown Phase 1 | Phase in JEP 3-specified OpenJDK release process. |
| RDP 2 | Rampdown Phase 2 | Phase in JEP 3-specified OpenJDK release process. |
| RFR | Request for Review | Although not exclusive to Java, this acronym is often used for identifying posts related to requests for review of OpenJDK bug fixes. |
| RMI | Remote Method Invocation | Java-specific protocol for communication between two JVMs |
| SIO | SimpleIdentityObject | Proposed potential class (at the time of this writing) during work on Project Valhalla |
| SIOBE | StringIndexOutOfBoundsException | Unchecked exception generally thrown when attempting to access an index outside of the valid range of a String. |
| SLF4J | Simple Logging Facade for Java | Third-party open source library providing a common API for logging that delegats to any of multiple supported logging frameworks. |
| SOE | StackOverflowError | JDK-provided error (not exception) indicating a stack overflow has occurred. |
| SOV | State of Valhalla | Typically references Brian Goetz's regularly updated "State of Valhalla" posts |
| SPI | Service Provider Interface | "Set of public interfaces and abstract classes that a service defines." (source) |
| STR | String "template processor defined in the Java library" | Described in JEP 430: String Templates (Preview) |
| TL | ThreadLocal | Used to designate per-thread data. (source) |
| TWR | try-with-resources | "try statement that declares one or more resources ... [[and]] ... ensures that each resource is closed at the end of the statement"(source) |
| UOE | UnsupportedOperationException | JDK-provided exception used to indicate when method has not been implemented. |
| VBC | Value-Based Class | Special type of class described in JDK API documentation as a type of identityless class for which a warning is provided: "Use of ... identity-sensitive operations on instances of value-based classes may have unpredictable effects and should be avoided." |
| WAR | Web ARchive | "Contains servlet class files, web files, supporting class files, image and HTML files, and, optionally, a web application deployment descriptor." (source) |