Java Related Terminologies

This chapter provides a list of terminologies related to Java programming language.

Here is a list of terminologies related to Java programming language:

Annotation - A programming facility that allows you to associates additional information with a program construct like class, method, variable, etc. See examples given in the "What Is Annotation" tutorial.

Annotation Declaration: @interface - A "@interface" declaration statement that defines an annotation type with or without annotation elements to capture annotated information. See examples given in the "What Is Annotation" tutorial.

Annotation Element - An special method with no parameters declared in an annotation type to capture a piece of annotated information. See examples given in the "What Is Annotation" tutorial.

Annotation Invokation - A "@annotation_type_name(annotated_information)" statement to invoke a given annotation type with specified annotated information. Annotation invokation statements can only be placed immediately before declaration statements of targeted program constructs. See examples given in the "What Is Annotation" tutorial.

Annotation Type - A special kind of interface type that defined by a "@interface" declaration statement (also called annotation declaration statement). See examples given in the "What Is Annotation" tutorial.

"assert" Statement - A debuggin statement that allows you to make an assertion in the execution flow. "assert" statements are executed only when "-ea" JVM option is specified. When executed an "assert" statement will throw an exception if the given assertion condition fails. See examples given in the "'assert' Statements" tutorial.

Bit - A single digit of a binary number. It can only have two possible values: 0 and 1. See examples given in the "What Are Bits and Bytes" tutorial.

Bitwise Operation - An operation that requires the operand(s) to be represented in a binary format, and applies the calculation one bit at a time. See examples given in the "Bitwise Operations on byte Values" tutorial.

Bounded Type Parameter? A type parameter that can be parameterized only with certain limited types. This limitation on type parameters allow you to create generic classes to offer special functions to those limited types. See examples given in the "Bounded Type Parameters" tutorial.

"break" Statement - Labeled Form - A branching statement that transfers the control to the end of the labeled enclosing block statement. See examples given in the "Labeled 'break' Statements" tutorial.

"break" Statement - Non-Labeled Form - A branching statement that transfers the control to the end of the immediate enclosing "switch", "while", "do", or "for" statement. See examples given in the "'break' Statements" tutorial.

Byte - A unit of measure of digital information size with 8 binary digits, 1 byte = 8 bits, which can hold 256 possible values. In Java, 'byte' is a primitive data type that uses a 1-byte (8-bit) storage to store 256 possible integer values from -128 to 127. See examples given in the "byte Data Type and Implicit Casting" tutorial.

"continue" Statement - Labeled Form - A branching statement that transfers the control to the end of the labeled enclosing loop block and continues the next iteration of the labeled loop. See examples given in the "Labeled 'continue' Statements" tutorial.

"continue" Statement - Non-Labeled Form - A branching statement that transfers the control to the end of the immediate enclosing loop block and continues the next iteration of the loop. See examples given in the "'continue' Statements" tutorial.

Control Flow Statement - A statement that changes the default flow of execution, which run statements one by one sequetially. See examples given in the "What Is Control Flow Statement" tutorial.

Deadlock - A state of execution when 2 or more threads are all put on waiting, because 2 threads are holding their own synchronization lock while waiting for the lock to released by the other thread. See examples given in the "What Is Deadlock" tutorial.

"do" Statement - A looping statement that executes the contained statement immediately, then repeat it while a given condition is true. See examples given in the "'do' Statements" tutorial.

Enum Type - A special kind of class type that has a set of pre-defined instances representing a set of static values called enum constants. See examples given in the "What Is an Enum Type" tutorial.

"for" Statement - Basic Form - A looping statement that executes the contained statement repeatedly with an initial logic, a looping condition, and an update logic. See examples given in the "Basic 'for' Statements" tutorial.

"for" Statement - Enhanced Form - A looping statement that executes the contained statement repeatedly for each element in a given list. See examples given in the "Enhanced 'for' Statements" tutorial.

Garbage Collector - An execution thread that automatically frees up the memory occupied by unused objects. The garbage collector is managed by the JVM and executed separately from the application program threads. See examples given in the "Garbage Collection and Unused Objects" tutorial.

Generic Class - A class that supports one or more type parameters. When invoked with given type arguments, a generic class becomes a parameterized class. See examples given in the "What Is a Generic Class" tutorial.

Generic Method - A static method or instance method that uses one or more type parameters (also called type variables) to make it more generic so that it can be used as multiple variations, one variation for each set of specific type arguments given to type parameters. See examples given in the "What Is a Generic Method" tutorial.

Generic Type - A reference data type defined by a generic class or a generic interface that uses type parameters. See examples given in the "Raw Type, Generic Type and Parameterized Type" tutorial.

"if-then" Statement - A decision-making statement that executes the contained sub-statement only when the given "boolean" expression is "true". See examples given in the "'if-then' Statements" tutorial.

"if-then-else" Statement - A decision-making statement that executes only the first contained sub-statement when the given "boolean" expression is "true". Otherwise it executes only the second contained sub-statement. See examples given in the "'if-then-else' Statements" tutorial.

Lambda Expression - A shorthand form of a special anonymous class that implements an interface with only one abstract method. See examples given in the "What Is Lambda Expression" tutorial.

Literal - A literal is a string representation of a data value in a Java source code. See examples given in the "Literals of Primitive Types" tutorial.

Marker Annotation - A shorthand format, @Type, of annotation invokation statement with no argument required. See examples given in the "No-Element (Marker) Annotation Invokation" tutorial.

Method Reference - A shorthand form of a special lambda expression which contains only one static method invocation in the body. See examples given in the "Lambda Expression as Method Reference" tutorial.

Module - An aggregation mechanism to manage Java programs and related resources. See examples given in the "What Is Java Module" tutorial.

Parameterized Type - A reference data type defined by a parameterized version of a generic class or a generic interface that uses type parameters. See examples given in the "Raw Type, Generic Type and Parameterized Type" tutorial.

Raw Type - A parameterized type with the parameter type argument omitted. Raw types are supported in Java to keep legacy applications working. In most cases, a raw type is equivalent a parameterized type with "Object" as the type argument. See examples given in the "Raw Type, Generic Type and Parameterized Type" tutorial.

Shift Operation - A bitwise operation that requires the operand to be represented in a binary format, then shifts all bit values to the left or right. See examples given in the "Shift Operations - Left, Right or Unsigned Right" tutorial.

"switch" Statement - A decision-making statement that executes a portion of the contained statement block. The executed portion starts from a statement whose label matches a given expression value and ends with the last statement of the block. Otherwise it executes only the second contained sub-statement. See examples given in the "'switch' Statements" tutorial.

Synchronization - A programming technique that allows multiple execution threads to share resources synchronously. See examples given in the "Synchronization Technique - Lock and Synchronized Code" tutorial.

Type Argument Inference - A process performed by the compiler to determine the actual type argument where the required type argument is no specified. See examples given in the "What Is Type Argument Inference" tutorial.

"while" Statement - A looping statement that executes the contained statement repeatedly while a given condition is true. See examples given in the "'while' Statements" tutorial.

Wildcard Parameterized Type - A parameterized type of a generic class or interface, where the argument type represents a group of types, instead of a single type. See examples given in the "Wildcard Parameterized Types" "Wildcard Parameterized Types" tutorial.

Table of Contents

 About This Book

 JDK - Java Development Kit

 Execution Process, Entry Point, Input and Output

 Primitive Data Types and Literals

 Control Flow Statements

 Bits, Bytes, Bitwise and Shift Operations

 Managing Bit Strings in Byte Arrays

 Reference Data Types and Variables

 Enum Types and Enum Constants

 StringBuffer - The String Buffer Class

 System Properties and Runtime Object Methods

 Generic Classes and Parameterized Types

 Generic Methods and Type Inference

 Lambda Expressions and Method References

 Java Modules - Java Package Aggregation

 Execution Threads and Multi-Threading Java Programs

 ThreadGroup Class and "system" ThreadGroup Tree

 Synchronization Technique and Synchronized Code Blocks

 Deadlock Condition Example Programs

 Garbage Collection and the gc() Method

 Assert Statements and -ea" Option

 Annotation Statements and Declarations

Java Related Terminologies

 Outdated Tutorials

 References

 Full Version in PDF/EPUB