Glossary of java programming language terms Page

Glossary of Java Programming Language Terms



Return to Java, Glossary of Scala Programming Language Terms, Glossary of Kotlin Programming Language Terms, Java Bibliography, Java Android Development, Java Courses, Java DevOps - Java CI/CD, Java Security - Java DevSecOps, Java Functional Programming, Java Concurrency, Java Data Science - Java and Databases, Java Machine Learning, Android Development Glossary, Awesome Java, Java GitHub, Java Topics

Return to Programming Glossary, Glossary, Java Study, Java Articles, Java Courses, Java Books, Java Style Guides


A



* abstract - The abstract keyword is used to declare abstract methods and abstract classes. An abstract method has no implementation defined; it is declared with arguments and a return type as usual, but the body enclosed in curly braces is replaced with a semicolon. The implementation of an abstract method is provided by a subclass of the class in which it is defined. If an abstract method appears in a class, the class is also abstract. Attempting to instantiate an abstract class will fail at compile time." (LrnJav 2023)

* Java Abstract Classes - In software development, Abstract classes are a key component of object-oriented programming. They serve as blueprints for other classes, encapsulating common attributes and behaviors. An abstract class cannot be instantiated - it can only be subclassed. The subclasses must then provide implementations for any abstract methods declared in the abstract class. Abstract classes allow for code reusability and a clear, organized structure in your code. https://www.w3schools.com/java/java_abstract.asp

* Java Abstract Method - An Abstract Method in Java is a method that is declared but does not contain any implementation. It must be declared in an abstract class and is intended to be overridden in subclasses of that abstract class. Each subclass must provide its own implementation for any abstract methods unless the subclass itself is also abstract. https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html

* Java Access Modifiers - Access modifiers in Java control the visibility and accessibility of classes, interfaces, and their members. They help manage how other classes and packages can interact with your code, enhancing the security and maintainability of your applications. The four types of access modifiers in Java are: public, protected, default (package-private), and private. https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

* ActivityCompat.requestPermissions - In Android development, ActivityCompat is a utility class that provides compatibility features to the Activity class. The method ActivityCompat.requestPermissions is used to request permissions at runtime. This method takes in the current activity, an array of permissions that the app wants to request, and a unique request code for the permission. https://developer.android.com/reference/androidx/core/app/ActivityCompat

* annotations - Metadata added to Java source code using the at sign tag | @ tag syntax. Java annotations can be used by the Java compiler or at Java runtime to augment classes, provide data or mappings, or flag additional services." (LrnJav 2023)

* Ant - An older, XML-based build tool for Java applications. Ant builds can compile, package, and deploy Java source code as well as generate documentation and perform other activities through pluggabletargets.”" (LrnJav 2023)

* Apache Maven - Apache Maven is a build automation tool primarily used for Java projects. Maven addresses two aspects of building software: how software is built, and its dependencies. It is based on the concept of a project object model (POM) and can manage a project’s build, reporting, and documentation from a central piece of information. https://maven.apache.org

* Apache Tomcat - Apache Tomcat is an open source Java web server used for running servlets and JSPs (Java Server Pages). It supports various web technologies such as HTML, CSS, JavaScript, and XML. https://tomcat.apache.org

* Application Programming Interface (API) - An API consists of the methods and variables programmers use to work with a component or tool in their applications. The Java language APIs consist of the classes and Java methods of the java.lang, java.util, java.io, java.text, and java​.net packages, and many others." (LrnJav 2023)* Application Programming Interface (API) - An API consists of the methods and variables programmers use to work with a component or tool in their applications. The Java language APIs consist of the classes and Java methods of the java.lang, java.util, java.io, java.text, and java​.net packages, and many others." (LrnJav 2023)

* application - A Java program that runs standalone, as compared with an applet." (LrnJav 2023)

* Annotation Processing Tool (APT) - A frontend for the Java compiler that processes annotations via a pluggable factory architecture, allowing users to implement custom compile-time annotations." (LrnJav 2023)

* assertion - A language feature used to test for conditions that should be guaranteed by program logic. If a condition checked by an assertion is found to be false, a fatal error is thrown. For added performance, assertions can be disabled when an application is deployed." (LrnJav 2023)

* atomic - Discrete or transactional in the sense that an operation happens as a unit, in an all-or-nothing fashion. Certain operations in the Java virtual machine (VM) and provided by the Java concurrency API are atomic." (LrnJav 2023)

* Abstract Window Toolkit (AWT) - Java’s original platform-independent windowing, graphics, and UI toolkit." (LrnJav 2023)


B


* Boojum - The mystical, spectral, alter ego of a Snark. From the 1876 Lewis Carroll poem “The Hunting of the Snark.”" (LrnJav 2023)

* Boolean - A primitive Java data type that contains a true or false value." (LrnJav 2023)

* bounds - In Java generics, a limitation on the type of a type parameter. An upper bound specifies that a type must extend (or is assignable to) a specific Java class. A lower bound is used to indicate that a type must be a supertype of (or is assignable from) the specified type." (LrnJav 2023)

* boxing - Wrapping of primitive types in Java by their object wrapper types. See also unboxing." (LrnJav 2023)

* byte - A primitive Java data type that’s an 8-bit two’s-complement signed number." (LrnJav 2023)


C


* callback - A behavior that is defined by one object and then later invoked by another object when a particular event occurs. The Java event mechanism is a kind of callback." (LrnJav 2023)

* cast - The changing of the apparent type of a Java object from one type to another, specified type. Java casts are checked both statically by the Java compiler and at runtime." (LrnJav 2023)

* catch - The Java catch statement introduces an exception-handling block of code following a try statement. The catch keyword is followed by one or more exception type and argument name pairs in parentheses, and a block of code within curly braces." (LrnJav 2023)

* certificate - An electronic document using a digital signature to assert the identity of a person, group, or organization. Certificates attest to the identity of a person or group and contain that organization’s public key. A certificate is signed by a certificate authority with its digital signature." (LrnJav 2023)

* certificate authority (CA) - An organization that is entrusted to issue certificates, taking whatever steps are necessary to verify the real-world identity for which it is issuing the certificate." (LrnJav 2023)

* char - A primitive Java data type; a variable of type char holds a single 16-bit Unicode character." (LrnJav 2023)

* class - The fundamental unit that defines an object in most object-oriented programming languages. A class is an encapsulated collection of variables and methods that may have privileged access to one another. Usually a class can be instantiated to produce an object that’s an instance of the class, with its own unique set of data.

The class keyword is used to declare a class, thereby defining a new object type." (LrnJav 2023)

* classloader - An instance of the class java.lang.ClassLoader, which is responsible for loading Java binary classes into the Java VM. Classloaders help partition classes based on their source for both structural and security purposes, and they can also be chained in a parent-child hierarchy." (LrnJav 2023)

* class method - See static method." (LrnJav 2023)

* classpath - The sequence of path locations specifying directories and archive files containing compiled Java class files and resources, which are searched in order to find components of a Java application." (LrnJav 2023)

* class variable - See static variable." (LrnJav 2023)

* client - The consumer of a resource or the party that initiates a conversation in the case of a networked client/server application. See also server." (LrnJav 2023)

* Collections API - Classes in the core java.util package for working with and sorting structured collections or maps of items. This API includes the Vector and Hashtable classes as well as newer items such as List, Map, and Queue." (LrnJav 2023)

* compilation unit - The unit of source code for a Java class. A compilation unit normally contains a single class definition, and in most current development environments is simply a file with a .java extension." (LrnJav 2023)

* compiler - A program that translates source code into executable code." (LrnJav 2023)

* component architecture - A methodology for building parts of an application. It is a way to build reusable objects that can be easily assembled to form applications." (LrnJav 2023)

* composition - Combining existing objects to create another, more complex object. When you compose a new object, you create complex behavior by delegating tasks to the internal objects. Composition is different from inheritance, which defines a new object by changing or refining the behavior of an old object. See also inheritance." (LrnJav 2023)

* constructor - A special method that is invoked automatically when a new instance of a class is created. Constructors are used to initialize the variables of the newly created object. The constructor method has the same name as the class and no explicit return value." (LrnJav 2023)

* content handler - A class that is called to parse a particular type of data and convert it to an appropriate object." (LrnJav 2023)


D


* datagram - A packet of data normally sent using a connectionless protocol such as UDP, which provides no guarantees about delivery or error checking and provides no control information." (LrnJav 2023)

* data hiding - See encapsulation." (LrnJav 2023)

* deep copy - A duplicate of an object along with all of the objects that it references, transitively. A deep copy duplicates the entire “graph” of objects, instead of just duplicating references. See also shallow copy." (LrnJav 2023)

* Document Object Model (DOM) - An in-memory representation of a fully parsed XML document using objects with names like Element, Attribute, and Text. The Java XML DOM API binding is standardized by the World Wide Web Consortium (W3C)." (LrnJav 2023)

* double - A Java primitive data type; a double value is a 64-bit (double-precision) floating-point number in IEEE-754 (binary64) binary format." (LrnJav 2023)

* Document Type Definition (DTD) - A document containing specialized language that expresses constraints on the structure of XML tags and tag attributes. DTDs are used to validate an XML document and can constrain the order and nesting of tags as well as the allowed values of attributes." (LrnJav 2023)


E


* Enterprise JavaBeans (EJBs) - A server-side business component architecture named for, but not significantly related to, the JavaBeans component architecture. EJBs represent business services and database components, and provide declarative security and transactions." (LrnJav 2023)

* encapsulation - The object-oriented programming technique of limiting the exposure of variables and methods to simplify the API of a class or package. Using the private and protected keywords, a programmer can limit the exposure of internal (“black box”) parts of a class. Encapsulation reduces bugs and promotes reusability and modularity of classes. This technique is also known as data hiding." (LrnJav 2023)

* enum - The Java keyword for declaring an enumerated type. An enum holds a list of constant object identifiers that can be used as a type-safe alternative to numeric constants that serve as identifiers or labels." (LrnJav 2023)

* enumeration - See enum." (LrnJav 2023)

* erasure - The implementation technique used by Java generics in which generic type information is removed (erased) and distilled to raw Java types at compilation. Erasure provides backward compatibility with nongeneric Java code but introduces some difficulties in the language." (LrnJav 2023)

* event - A user’s action, such as a mouse-click or keystroke. The Java object delivered to a registered event listener in response to a user action or other activity in the system." (LrnJav 2023)

* exception - A signal that some unexpected condition has occurred in the program. In Java, exceptions are objects that are subclasses of Exception or Error (which themselves are subclasses of Throwable). Exceptions in Java are “raised” with the throw keyword and handled with the catch keyword. See also catch, throw, and throws." (LrnJav 2023)

* exception chaining - The design pattern of catching an exception and throwing a new, higher-level, or more appropriate exception that contains the underlying exception as its cause. The “cause” exception can be retrieved if necessary." (LrnJav 2023)

* extends - A keyword used in a class declaration to specify the superclass of the class being defined. The class being defined has access to all the public and protected variables and methods of the superclass (or, if the class being defined is in the same package, it has access to all nonprivate variables and methods). If a class definition omits the extends clause, its superclass is taken to be java.lang.Object." (LrnJav 2023)


F


* final - A keyword modifier that may be applied to classes, methods, and variables. It has a similar, but not identical, meaning in each case. When final is applied to a class, it means that the class may never be subclassed. java.lang.System is an example of a final class. A final method cannot be overridden in a subclass. When final is applied to a variable, the variable is a constant—that is, it can’t be modified. (The contents of a mutable object can still be changed; the final variable always points to the same object.)" (LrnJav 2023)

* finalize - A reserved method name. The finalize() method is called by the Java VM when an object is no longer being used (i.e., when there are no further references to it) but before the object’s memory is actually reclaimed by the system. Largely disfavored in light of newer approaches, such as the Closeable interface and try-with-resources." (LrnJav 2023)

* finally - A keyword that introduces the finally block of a try/catch/finally construct. catch and finally blocks provide exception handling and routine cleanup for code in a try block. The finally block is optional and appears after the try block, and after zero or more catch blocks. The code in a finally block is executed once, regardless of how the code in the try block executes. In normal execution, control reaches the end of the try block and proceeds to the finally block, which generally performs any necessary cleanup." (LrnJav 2023)

* float - A Java primitive data type; a float value is a 32-bit (single-precision) floating-point number represented in IEEE 754 format." (LrnJav 2023)


G


* garbage collection - The process of reclaiming the memory of objects no longer in use. An object is no longer in use when there are no references to it from other objects in the system, and no references in any local variables on any thread’s method call stack." (LrnJav 2023)

* generics - The syntax and implementation of parameterized types in the Java language, added in Java 5.0. Generic types are Java classes that are parameterized by the user on one or more additional Java types to specialize the behavior of the class. Generics are sometimes referred to as templates in other languages." (LrnJav 2023)

* generic class - A class that uses the Java generics syntax and is parameterized by one or more type variables, which represent class types to be substituted by the user of the class. Generic classes are particularly useful for container objects and collections that can be specialized to operate on a specific type of element." (LrnJav 2023)

* generic method - A method that uses the Java generics syntax and has one or more arguments or return types that refer to type variables representing the actual type of data element the method will use. The Java compiler can often infer the types of the type variables from the usage context of the method." (LrnJav 2023)

* graphics context - A drawable surface represented by the java.awt.Graphics class. A graphics context contains contextual information about the drawing area and provides methods for performing drawing operations in it." (LrnJav 2023)

* graphical user interface (GUI) - A traditional, visual user interface consisting of a window containing graphical items such as buttons, text fields, pull-down menus, dialog boxes, and other standard interface components." (LrnJav 2023)


H


* hashcode - A random-looking identifying number, based on the data content of an object, used as a kind of signature for the object. A hashcode is used to store an object in a hash table (or hash map). See also hash table." (LrnJav 2023)

* hash table - An object that is like a dictionary or an associative array. A hash table stores and retrieves elements using key values called hashcodes. See also hashcode." (LrnJav 2023)

* hostname - The human-readable name given to an individual computer attached to the internet." (LrnJav 2023)

* Hypertext Transfer Protocol (HTTP) - The protocol used by web browsers or other clients to talk to web servers. The simplest form of the protocol uses the commands GET to request a file and POST to send data." (LrnJav 2023)


I


* Integrated Development Environment (IDE) - A GUI tool such as IntelliJ IDEA or Eclipse that provides source editing, compiling, running, debugging, and deployment functionality for developing Java applications." (LrnJav 2023)

* implements - A keyword used in class declarations to indicate that the class implements the named interface or interfaces. The implements clause is optional in class declarations; if it appears, it must follow the extends clause (if any). If an implements clause appears in the declaration of a non-abstract class, every method from each specified interface must be implemented by the class or by one of its superclasses." (LrnJav 2023)

* import - The import statement makes Java classes available to the current class under an abbreviated name, or disambiguates classes imported in bulk by other import statements. (Java classes are always available by their fully qualified name, assuming the appropriate class file can be found relative to the CLASSPATH environment variable and that the class file is readable. import doesn’t make the class available; it just saves typing and makes your code more legible.) Any number of import statements may appear in a Java program. They must appear, however, after the optional package statement at the top of the file, and before the first class or interface definition in the file." (LrnJav 2023)

* inheritance - An important feature of object-oriented programming that involves defining a new object by changing or refining the behavior of an existing object. Through inheritance, an object implicitly contains all of the non-private variables and methods of its superclass. Java supports single inheritance of classes and multiple inheritance of interfaces." (LrnJav 2023)

* inner class - A class definition that is nested within another class or a method. An inner class functions within the lexical scope of another class." (LrnJav 2023)

* instance - An occurrence of something, usually an object. When a class is instantiated to produce an object, we say the object is an instance of the class." (LrnJav 2023)

* instance method - A non-static method of a class. Such a method is passed an implicit this reference to the object that invoked it. See also static, static method." (LrnJav 2023)

* instanceof - A Java operator that returns true if the object on its left side is an instance of the class (or implements the interface) specified on its right side. instanceof returns false if the object isn’t an instance of the specified class or doesn’t implement the specified interface. It also returns false if the specified object is null." (LrnJav 2023)

* instance variable - A non-static variable of a class. Each instance of a class has an independent copy of all of the instance variables of the class. See also class variable, static." (LrnJav 2023)

* int - A primitive Java data type that’s a 32-bit two’s-complement signed number." (LrnJav 2023)

* interface - A keyword used to declare an interface. A collection of abstract methods that collectively define a type in the Java language. Classes implementing the methods may declare that they implement the interface type, and instances of them may be treated as that type." (LrnJav 2023)

* internationalization - The process of making an application accessible to people who speak a variety of languages. Sometimes abbreviated I18N." (LrnJav 2023)

* interpreter - The module that decodes and executes Java bytecode. Most Java bytecode is not, strictly speaking, interpreted any longer, but is compiled to native code dynamically by the Java VM." (LrnJav 2023)

* introspection - The process by which a JavaBean provides additional information about itself, supplementing information learned by reflection." (LrnJav 2023)

* ISO 8859-1 - An 8-bit character encoding standardized by the ISO. This encoding is also known as Latin-1 and contains characters from the Latin alphabet suitable for English and most languages of western Europe." (LrnJav 2023)


J


* JavaBeans - A component architecture for Java. It is a way to build interoperable Java objects that can be manipulated easily in a visual application builder environment." (LrnJav 2023)

* Java beans - Java classes that are built following the JavaBeans design patterns and conventions." (LrnJav 2023)

* JavaScript - A language developed early in the history of the web by Netscape for creating dynamic web pages. From a programmer’s point of view, it’s unrelated to Java, although some of its syntax is similar." (LrnJav 2023)

* Java API for XML Binding (JAXB) - A Java API that allows for generation of Java classes from XML DTD or Schema descriptions and the generation of XML from Java classes." (LrnJav 2023)

* Java API for XML Parsers (JAXP) - The Java API that allows for pluggable implementations of XML and XSL engines. This API provides an implementation-neutral way to construct parsers and transforms." (LrnJav 2023)

* JAX-RPC - The Java API for XML Remote Procedure Calls, used by web services." (LrnJav 2023)

* Java Database Connectivity (JDBC) - The standard Java API for talking to an SQL (Structured Query Language) database." (LrnJav 2023)

* JDOM - A native Java XML DOM created by Jason Hunter and Brett McLaughlin. JDOM is easier to use than the standard DOM API for Java. It uses the Java Collections API and standard Java conventions. Available at the JDOM Project site." (LrnJav 2023)

* Java Web Services Developer Pack (JDSDP) - A bundle of standard extension APIs packaged as a group with an installer from Sun. The JWSDP includes JAXB, JAX-RPC, and other XML and web services-related packages." (LrnJav 2023)


L


* lambda (or lambda expression) - A compact way to put the entire definition of a small, anonymous function right where you are using it in the code." (LrnJav 2023)

* Latin-1 - A nickname for ISO 8859-1." (LrnJav 2023)

* layout manager - An object that controls the arrangement of components within the display area of a Swing or AWT container." (LrnJav 2023)

* lightweight component - A pure Java GUI component that has no native peer in the AWT." (LrnJav 2023)

* local variable - A variable that is declared inside a method. A local variable can be seen only by code within that method." (LrnJav 2023)

* Logging API - The Java API for structured logging and reporting of messages from within application components. The Logging API supports logging levels indicating the importance of messages, as well as filtering and output capabilities." (LrnJav 2023)

* long - A primitive Java data type that’s a 64-bit two’s-complement signed number." (LrnJav 2023)


M


* message digest - A cryptographically computed number based on the content of a message, used to determine whether the message’s contents have been changed in any way. A change to a message’s contents will change its message digest. When implemented properly, it is almost impossible to create two similar messages with the same digest." (LrnJav 2023)

* method - The object-oriented programming term for a function or procedure." (LrnJav 2023)

* method overloading - Provides definitions of more than one method with the same name but with different argument lists. When an overloaded method is called, the compiler determines which one is intended by examining the supplied argument types." (LrnJav 2023)

* method overriding - Defines a method that matches the name and argument types of a method defined in a superclass. When an overridden method is invoked, the interpreter uses dynamic method lookup to determine which method definition is applicable to the current object. Beginning in Java 5.0, overridden methods can have different return types, with restrictions." (LrnJav 2023)

* MIME (or MIME type) - A media type classification system often associated with email attachments or web page content." (LrnJav 2023)

* Model-View-Controller (MVC) framework - A UI design that originated in Smalltalk. In MVC, the data for a display item is called the model. A view displays a particular representation of the model, and a controller provides user interaction with both. Java incorporates many MVC concepts." (LrnJav 2023)

* modifier - A keyword placed before a class, variable, or method that alters the item’s accessibility, behavior, or semantics. See also abstract, final, native method, private, protected, public, static, synchronized." (LrnJav 2023)


N


* NaN (not-a-number) - This is a special value of the double and float data types that represents an undefined result of a mathematical operation, such as zero divided by zero." (LrnJav 2023)

* native method - A method that is implemented in a native language on a host platform, rather than being implemented in Java. Native methods provide access to such resources as the network, the windowing system, and the host filesystem." (LrnJav 2023)

* new - A unary operator that creates a new object or array (or raises an OutOfMemoryException if there is not enough memory available)." (LrnJav 2023)

* NIO - The Java “new” I/O package. A core package introduced in Java 1.4 to support asynchronous, interruptible, and scalable I/O operations. The NIO API supports nonthreadbound “select” style I/O handling." (LrnJav 2023)

* null - null is a special value that indicates that a reference-type variable doesn’t refer to any object instance. Static and instance variables of classes default to the value null if not otherwise assigned." (LrnJav 2023)


O


* object - The fundamental structural unit of an object-oriented programming language, encapsulating a set of data and behavior that operates on that data. An instance of a class, having the structure of the class but its own copy of data elements. See also instance." (LrnJav 2023)


P


* package - The package statement specifies the Java package for a Java class. Java code that is part of a particular package has access to all classes (public and non-public) in the package, and all non-private methods and fields in all those classes. When Java code is part of a named package, the compiled class file must be placed at the appropriate position in the CLASSPATH directory hierarchy before it can be accessed by the Java interpreter or other utilities. If the package statement is omitted from a file, the code in that file is part of an unnamed default package. This is convenient for small test programs run from the command line, or during development because it means that the code can be interpreted from the current directory." (LrnJav 2023)

* parameterized type - A class, using Java generics syntax, that is dependent on one or more types to be specified by the user. The user-supplied parameter types fill in type values in the class and adapt it for use with the specified types." (LrnJav 2023)

* polymorphism - One of the fundamental principles of an object-oriented language. Polymorphism states that a type that extends another type is a “kind of” the parent type and can be used interchangeably with the original type by augmenting or refining its capabilities." (LrnJav 2023)

* Preferences API - The Java API for storing small amounts of information on a per-user or system-wide basis across executions of the Java VM. The Preferences API is analogous to a small database or the Windows registry." (LrnJav 2023)

* primitive type - One of the Java data types: boolean, char, byte, short, int, long, float, and double. Primitive types are manipulated, assigned, and passed to methods “by value” (i.e., the actual bytes of the data are copied). See also reference type." (LrnJav 2023)

* printf - A style of text formatting originating in the C language, relying on an embedded identifier syntax and variable-length argument lists to supply parameters." (LrnJav 2023)

* private - The private keyword is a visibility modifier that can be applied to method and field variables of classes. A private method or field is not visible outside its class definition and cannot be accessed by subclasses." (LrnJav 2023)

* protected - A keyword that is a visibility modifier; it can be applied to method and field variables of classes. A protected field is visible only within its class, within subclasses, and within the package of which its class is a part. Note that subclasses in different packages can access only protected fields within themselves or within other objects that are subclasses; they cannot access protected fields within instances of the superclass." (LrnJav 2023)

* protocol handler - A URL component that implements the network connection required to access a resource for a type of URL scheme (such as HTTP or FTP). A Java protocol handler consists of two classes: a StreamHandler and a URLConnection." (LrnJav 2023)

* public - A keyword that is a visibility modifier; it can be applied to classes and interfaces and to the method and field variables of classes and interfaces. A public class or interface is visible everywhere. A non-public class or interface is visible only within its package. A public method or variable is visible everywhere its class is visible. When none of the private, protected, or public modifiers are specified, a field is visible only within the package of which its class is a part." (LrnJav 2023)

* public-key cryptography - A cryptographic system that requires public and private keys. The private key can decrypt messages encrypted with the corresponding public key, and vice versa. The public key can be made available to the public without compromising security, and used to verify that messages sent by the holder of the private key must be genuine." (LrnJav 2023)


Q


* queue - A list-like data structure normally used in a first-in, first-out fashion to buffer work items." (LrnJav 2023)


R


* raw type - In Java generics, the plain Java type of a class without any generic type parameter information. This is the true type of all Java classes after they are compiled. See also erasure." (LrnJav 2023)

* reference type - Any object or array. Reference types are manipulated, assigned, and passed to methods “by reference.” In other words, the underlying value is not copied; only a reference to it is. See also primitive type." (LrnJav 2023)

* reflection - The ability of a programming language to interact with structures of the language itself at runtime. Reflection in Java allows a Java program to examine class files at runtime to find out about their methods and variables, and to invoke methods or modify variables dynamically." (LrnJav 2023)

* regular expression - A compact yet powerful syntax for describing a pattern in text. Regular expressions can be used to recognize and parse most kinds of textual constructs, allowing for wide variation in their form." (LrnJav 2023)

* Regular Expression API - The core java.util.regex package for using regular expressions. The regex package can be used to search and replace text based on sophisticated patterns." (LrnJav 2023)


S


* Schema - XML Schemas are a replacement for DTDs. Introduced by the W3C, XML Schema is an XML-based language for expressing constraints on the structure of XML tags and tag attributes, as well as the structure and type of the data content. Other types of XML Schema languages have different syntaxes." (LrnJav 2023)

* Software Development Kit (SDK) - A package of software distributed by Oracle for Java developers. It includes the Java interpreter, Java classes, and Java development tools: compiler, debugger, disassembler, applet viewer, stub file generator, and documentation generator. Also called the JDK." (LrnJav 2023)

* SecurityManager - The Java class that defines the methods the system calls to check whether a certain operation is permitted in the current environment." (LrnJav 2023)

* serialize - To serialize means to put in order or make sequential. Serialized methods are methods that have been synchronized with respect to threads so that only one may be executing at a given time." (LrnJav 2023)

* server - The party that provides a resource or accepts a request for a conversation in the case of a networked client/server application. See also client." (LrnJav 2023)

* servlet - A Java application component that implements the javax.servlet.Servlet API, allowing it to run inside a servlet container or web server. Servlets are widely used in web applications to process user data and generate HTML or other forms of output." (LrnJav 2023)

* servlet context - In the Servlet API, this is the web application environment of a servlet that provides server and application resources. The base URL path of the web application is also often referred to as the servlet context." (LrnJav 2023)

* shadow - To declare a variable with the same name as a variable defined in a superclass. We say the variable “shadows” the superclass’s variable. Use the super keyword to refer to the shadowed variable or refer to it by casting the object to the type of the superclass." (LrnJav 2023)

* shallow copy - A copy of an object that duplicates only values contained in the object itself. References to other objects are repeated as references and are not duplicated themselves. See also deep copy." (LrnJav 2023)

* short - A primitive Java data type that’s a 16-bit two’s-complement signed number." (LrnJav 2023)

* signature - Referring to a digital signature. A combination of a message’s message digest, encrypted with the signer’s private key, and the signer’s certificate, attesting to the signer’s identity. Someone receiving a signed message can get the signer’s public key from the certificate, decrypt the encrypted message digest, and compare that result with the message digest computed from the signed message. If the two message digests agree, the recipient knows that the message has not been modified and that the signer is who they claim to be. Referring to a Java method. The method name and argument types and possibly return type, collectively uniquely identifying the method in some context." (LrnJav 2023)

* signed applet - An applet packaged in a JAR file signed with a digital signature, allowing for authentication of its origin and validation of the integrity of its contents." (LrnJav 2023)

* signed class - A Java class (or Java archive) that has a signature attached. The signature allows the recipient to verify the class’s origin and that it is unmodified. The recipient can therefore grant the class greater runtime privileges." (LrnJav 2023)

* sockets - A networking API originating in BSD Unix. A pair of sockets provide the endpoints for communication between two parties on the network. A server socket listens for connections from clients and creates individual server-side sockets for each conversation." (LrnJav 2023)

* Java Sound API - The Java Sound API is a part of the Java platform providing low-level support for audio operations such as audio playback and audio capture (recording), audio mixing and MIDI sequencing in an extensible and flexible way. It can create, manage and process sound in Java applications. It also provides tools for working with MIDI data, allowing for the creation and manipulation of audio applications. - https://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/package-summary.html

* spinner - A GUI component that displays a value and a pair of small up and down buttons that increment or decrement the value. The Swing JSpinner can work with number ranges and dates as well as arbitrary enumerations." (LrnJav 2023)

* static - A keyword that is a modifier applied to method and variable declarations within a class. A static variable is also known as a class variable as opposed to non-static instance variables. While each instance of a class has a full set of its own instance variables, there is only one copy of each static class variable, regardless of the number of instances of the class (perhaps zero) that are created. static variables may be accessed by class name or through an instance. Non-static variables can be accessed only through an instance." (LrnJav 2023)

* static import - A statement, similar to the class and package import, that imports the names of static methods and variables of a class into a class scope. The static import is a convenience that provides the effect of global methods and constants." (LrnJav 2023)

* static method - A method declared static. Methods of this type are not passed implicit this references, and may refer only to class variables and invoke other class methods of the current class. A class method may be invoked through the class name, rather than through an instance of the class." (LrnJav 2023)

* static variable - A variable declared static. Variables of this type are associated with the class, rather than with a particular instance of the class. There is only one copy of a static variable, regardless of the number of instances of the class that are created." (LrnJav 2023)

* stream - A flow of data, or a channel of communication. All fundamental I/O in Java is based on streams. The NIO package uses channels, which are packet oriented. Also a framework for functional programming introduced in Java 8." (LrnJav 2023)

* string - A sequence of character data and the Java class used to represent this kind of character data. The String class includes many methods for operating on string objects." (LrnJav 2023)

* subclass - A class that extends another. The subclass inherits the public and protected methods and variables of its superclass. See also extends." (LrnJav 2023)

* super - A keyword used by a class to refer to variables and methods of its parent class. The special reference super is used in the same way as the special reference this is used to qualify references to the current object context." (LrnJav 2023)

* superclass - A parent class, extended by some other class. The superclass’s public and protected methods and variables are available to the subclass. See also extends." (LrnJav 2023)

* synchronized - A keyword used in two related ways in Java: as a modifier and as a statement. First, it is a modifier applied to class or instance methods. It indicates that the method modifies the internal state of the class or the internal state of an instance of the class in a way that is not threadsafe. Before running a synchronized class method, Java obtains a lock on the class to ensure that no other threads can modify the class concurrently. Before running a synchronized instance method, Java obtains a lock on the instance that invoked the method, ensuring that no other threads can modify the object at the same time. Synchronization also ensures that changes to a value are propagated between threads and are eventually visible throughout all your processor cores.
** Java also supports a synchronized statement that serves to specify a “critical section” of code. The synchronized keyword is followed by an expression in parentheses and a statement or block of statements. The expression must evaluate to an object or array. Java obtains a lock on the specified object or array before executing the statements." (LrnJav 2023)


T


* TCP (Transmission Control Protocol) - A connection-oriented, reliable protocol. One of the protocols on which the internet is based." (LrnJav 2023)

* this - Within an instance method or constructor of a class, this refers to “this object”— the instance currently being operated on. It is useful to refer to an instance variable of the class that has been shadowed by a local variable or method argument. It is also useful to pass the current object as an argument to static methods or methods of other classes. There is one additional use of this: when it appears as the first statement in a constructor method, it refers to one of the other constructors of the class." (LrnJav 2023)

* thread - An independent stream of execution within a program. Because Java is a multithreaded programming language, more than one thread may be running within the Java interpreter at a time. Threads in Java are represented and controlled through the Thread object." (LrnJav 2023)

* thread pool - A group of “recyclable” threads used to service work requests. A thread is allocated to handle one item and then returned to the pool." (LrnJav 2023)

* throw - The throw statement signals that an exceptional condition has occurred by throwing a specified Throwable (exception) object. This statement stops program execution and passes it to the nearest containing catch statement that can handle the specified exception object." (LrnJav 2023)

* throws - The throws keyword is used in a method declaration to list the exceptions the method can throw. Any exceptions a method can raise that are not subclasses of Error or RuntimeException must either be caught within the method or declared in the method’s throws clause." (LrnJav 2023)

* try - The try keyword indicates a guarded block of code to which subsequent catch and finally clauses apply. The try statement itself performs no special action. See also catch and finally for more information on the try/catch/finally construct." (LrnJav 2023)

* try-with-resources - A try block that also opens resources implementing the Closeable interface for automatic cleanup." (LrnJav 2023)

* type instantiation - In Java generics, the point at which a generic type is applied by supplying actual or wildcard types as its type parameters. A generic type is instantiated by the user of the type, effectively creating a new type in the Java language specialized for the parameter types." (LrnJav 2023)

* type invocation - See type instantiation. The term type invocation is sometimes used by analogy with the syntax of method invocation." (LrnJav 2023)


U


* User Datagram Protocol (UDP) - A connectionless, unreliable protocol. UDP describes a network data connection based on datagrams with little packet control." (LrnJav 2023)

* unboxing - Unwrapping a primitive value that is held in its object wrapper type and retrieving the value as a primitive." (LrnJav 2023)

* Unicode - A universal standard for text character encoding, accommodating the written forms of almost all languages. Unicode is standardized by the Unicode Consortium. Java uses Unicode for its char and String types." (LrnJav 2023)

* UTF-8 (UCS transformation format 8-bit form) - An encoding for Unicode characters (and more generally, UCS characters) commonly used for transmission and storage. It is a multibyte format in which different characters require different numbers of bytes to be represented." (LrnJav 2023)


V


* variable-length argument list - A method in Java may indicate that it can accept any number of a specified type of argument after its initial fixed list of arguments. The arguments are handled by packaging them as an array." (LrnJav 2023)

* varargs - See variable length argument list." (LrnJav 2023)

* vector - A dynamic array of elements." (LrnJav 2023)

* verifier - A kind of theorem prover that steps through the Java bytecode before it is run and makes sure that it is well behaved and does not violate the Java security model. The bytecode verifier is the first line of defense in Java’s security model." (LrnJav 2023)


W


* Web Applications Resources file (WAR file) - A JAR file with additional structure to hold classes and resources for web applications. A WAR file includes a WEB-INF directory for classes, libraries, and the web.xml deployment file." (LrnJav 2023)

* web application - An application that runs on a web server or application server, normally using a web browser as a client." (LrnJav 2023)

* web service - An application-level service that runs on a server and is accessed in a standard way using XML for data marshalling and HTTP as its network transport." (LrnJav 2023)

* wildcard type - In Java generics, a “*” syntax used in lieu of an actual parameter type for type instantiation to indicate that the generic type represents a set or supertype of many concrete type instantiations." (LrnJav 2023)


X


* XInclude - An XML standard and Java API for inclusion of XML documents." (LrnJav 2023)

* Extensible Markup Language (XML) - A universal markup language for text and data, using nested tags to add structure and meta-information to the content." (LrnJav 2023)

* XPath - An XML standard and Java API for matching elements and attributes in XML using a hierarchical, regex-like expression language." (LrnJav 2023)

* Extensible Stylesheet Language/XSLTransformations (XSL/XSLT) - An XML-based language for describing styling and transformation of XML documents. Styling involves simple addition of markup, usually for presentation. XSLT allows complete restructuring of documents, in addition to styling." (LrnJav 2023)




----

# Class
# Type - Type refers to classes, interfaces, enums, and also primitive types (byte, char, short, int, long, float, double, and boolean).
# Primitive types - byte, char, short, int, long, float, double, and boolean
# Reference types - Classes, Interfaces, and Enums
# Top-level reference types - Classes, interfaces, or enums that are defined directly under a package are called top-level classes, interfaces, or enums.
# Nested reference types - Classes, interfaces, and enums that are defined inside another class, interface, or an enum are called nested classes, interfaces, or enums.
# Inner reference types - "Non-static nested classes, interfaces, and enums that are called inner classes, interfaces, or enums."
# Local reference types - Nested reference types that are defined inside a method (or inside another code block but not directly inside a class, interface, or enum) are called local classes, interfaces, or enums.
# Anonymous classes - This is a special case of a nested class where just the class definition is present in the code and the complete declaration is automatically inferred by the compiler through the context. An anonymous class is always a nested class and is never static.
# Compile time vs run time (i.e. execution time) - You know that there are two steps in executing Java code. The first step is to compile the Java code using the Java compiler to create a class file and the second step is to execute the JVM and pass the class file name as an argument. Anything that happens while compiling the code such as generation of compiler warnings or error messages is said to happen during "compile time". Anything that happens while executing the program is said to happen during the "run time". For example, syntax errors such as a missing bracket or a semicolon are caught at compile time while any exception that is generated while executing the code is thrown at run time. It is kind of obvious but I have seen many beginners posting questions such as, "why does this code throw the following exception when I try to compile it?", when they really mean, "why does this code generate the following error message while compilation?" Another common question is, "why does this code throw an exception even after successful compilation?" Successful compilation is not a guarantee for successful execution! Although the compiler tries to prevent a lot of bugs by raising warnings and error messages while compilation, successful compilation really just means that the code is syntactically correct.
# Compile-time constants - "Normally, it is the JVM that sets the values of Java variables when a Java program is executed. The Java compiler does not execute any Java code and it has no knowledge of the values that a variable might take during the execution of the program. Even so, in certain cases, it is possible for the compiler to figure out the value of a variable. If a compiler can determine the value that a variable will take during the execution of the program, then that variable is actually a compile-time constant. For example, if you define an int variable as final int x = 10; then x is a compile time constant because the compiler knows that x will always have a value of 10 at run time. Similarly, Java literals such as the numbers 1, 2, and 3, or the characters written in code within single quotes such as 'a', or Java boolean values true and false, are all compile time constants because the compiler knows that these values will never change."

Fair Use Source: Deshmukh 2018

* Java
* JavaBeans
* JDK - Java Development Kit
* JRE - Java Runtime Engine
* JVM - Java Virtual Machine
* JAE - Java Application Environment. See also Java Development Kit (JDK
* JAR Files (.jar) - Java ARchive - JAR file format
* Java Application Environment (JAE
* JavaBeans
* Java Blend
* Java Card API
* JavaCheck
* JavaChip
* JavaDoc
* Java Compatibility Kit (JCK)
* Java Database Connectivity (JDBC)
* Java Developer Connection
* Java Development Kit (JDK))
* Java Electronic Commerce Framework
* Java Enterprise API
* Java Foundation Classes (JFC) -- see also Abstract Windowing Toolkit (AWT)
* Java Interface Definition Language (IDL - JIDL) -- see also CORBA (Common Object Request Broker Architecture).
* Java Media APIs
* Java Media Framework
* Java Naming and Directory Interface (JNDI)
* JavaOS
* JavaPlan
* Java Platform
* Java Platform Editions
** Java 2 Platform, Enterprise Edition
** Java 2 Platform, Standard Edition
** Java 2 Platform, Micro Edition
* Java Platform Module System (JPMS)
* Java Remote Method Invocation (RMI or JRMI)
* Java Runtime Environment (JRE)
* JavaSafe
* Java Studio
* Java Technologies
* Java Virtual Machine (JVM)
* Java HotSpot - Java HotSpot performance engine
* Java virtual machine -- see also Java 2 Platform, Micro Edition
* Java Card virtual machine - see also Java Platform, Micro Edition
* Java Web Server
* Java Workshop
* Java wallet -- see also Java Electronic Commerce Framework
* JavaSpaces
* JavaSoft
* JDBC - Java Database Connectivity
* JDK - Java Development Kit]]
* JFC - Java Foundation Class -- see also Abstract Windowing Toolkit (AWT)
* Jini Technology - Jini
* JMAPI - Java Management API
* JNDI - Java Naming and Directory Interface
* JRE - Java Runtime Environment
* Just-in-time (JIT) - JIT Compiler - Just-in-time compiler - Just in time - Just in time compiler
* JVM - Java Virtual Machine


----

Fair Use Source: B086L2NYWR (LrnJav] 2023)

* archive>Learning Java for Archive Access for Fair Use Preservation, quoting, paraphrasing, excerpting and/or commenting upon
* archive>Marc Loy for Archive Access



{{navbar_java}}


{{navbar_footer}}