Skip to content

Latest commit

 

History

History
115 lines (111 loc) · 26.3 KB

File metadata and controls

115 lines (111 loc) · 26.3 KB

Java Acronyms and Meanings

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)

Related Resources