For simplicity, the Java programming language is called Java in the rest of this document.



A Java keyword used in a class definition to specify that a class is not to be instantiated, but rather inherited by other classes. An abstract class can have abstract methods that are not implemented in the abstract class, but in subclasses.

abstract class

A class that contains one or more abstract methods , and therefore can never be instantiated. Abstract classes are defined so that other classes can extend them and make them concrete by implementing the abstract methods.

abstract method

A method that has no implementation.

Abstract Window Toolkit (AWT)

A collection of graphical user interface (GUI) components that were implemented using native-platform versions of the components. These components provide that subset of functionality which is common to all native platforms. Largely supplanted by the Project Swing component set. See also Swing .

access control

The methods by which interactions with resources are limited to collections of users or programs for the purpose of enforcing integrity, confidentiality, or availability constraints.


The acronym for the four properties guaranteed by transactions: atomicity, consistency, isolation, and durability.

actual parameter list

The arguments specified in a particular method call. See also formal parameter list .


Application Programming Interface. The specification of how a programmer writing an application accesses the behavior and state of classes and objects.


A component that typically executes in a Web browser, but can execute in a variety of other applications or devices that support the applet programming model.


A data item specified in a method call. An argument can be a literal value, a variable, or an expression.


A collection of data items, all of the same type, in which each item's position is uniquely designated by an integer.


American Standard Code for Information Interchange. A standard assignment of 7-bit numeric codes to characters. See also Unicode .


Refers to an operation that is never interrupted or left in an incomplete state under any circumstance.


The process by which an entity proves to another entity that it is acting on behalf of a specific identity.


See access control.


Automatic conversion between reference and primitive types.



A reusable software component that conforms to certain design and naming conventions. The conventions enable beans to be easily combined to create an application using tools that understand the conventions.

binary operator

An operator that has two arguments.


The smallest unit of information in a computer, with a value of either 0 or 1.

bitwise operator

An operator that manipulates the bits of one or more of its operands individually and in parallel. Examples include the binary logical operators (&, |, ^), the binary shift operators (<<, >>, >>>) and the unary one's complement operator (~).


In the Java programming language, any code between matching braces. Example: { x = 1; }.


Refers to an expression or variable that can have only a true or false value. The Java programming language provides the boolean type and the literal values true and false.


A Java keyword used to resume program execution at the statement immediately following the current statement. If followed by a label, the program resumes execution at the labeled statement.


A sequence of eight bits. Java provides a corresponding byte type.


Machine-independent code generated by the Java compiler and executed by the Java interpreter.



A Java keyword that defines a group of statements to begin executing if a value specified matches the value defined by a preceding switch keyword.


Explicit conversion from one data type to another.


A Java keyword used to declare a block of statements to be executed in the event that a Java exception, or run time error, occurs in a preceding try block.


A Java keyword used to declare a variable of type character.


In the Java programming language, a type that defines the implementation of a particular kind of object. A class definition defines instance and class variables and methods, as well as specifying the interfaces the class implements and the immediate superclass of the class. If the superclass is not explicitly specified, the superclass will implicitly be Object.

class method

A method that is invoked without reference to a particular object. Class methods affect the class as a whole, not a particular instance of the class. Also called a static method . See also instance method .

class variable

A data item associated with a particular class as a whole--not with particular instances of the class. Class variables are defined in class definitions. Also called a static field . See also instance variable .


An environmental variable which tells the Java virtual machine 1 and Java technology-based applications where to find the class libraries, including user-defined class libraries.


In the client/server model of communications, the client is a process that remotely accesses resources of a compute server, such as compute power and large memory capacity.


Works together with the code attribute in the <APPLET> tag to give a complete specification of where to find the main applet class file: code specifies the name of the file, and codebase specifies the URL of the directory containing the file.


In a program, explanatory text that is ignored by the compiler. In programs written in the Java programming language, comments are delimited using // or /*... */.


The point in a transaction when all updates to any resources involved in the transaction are made permanent.

compilation unit

The smallest unit of source code that can be compiled. In the current implementation of the Java platform, the compilation unit is a file.


A program to translate source code into code to be executed by a computer. The Java compiler translates source code written in the Java programming language into bytecode for the Java virtual machine 1 . See also interpreter .


The process of superimposing one image on another to create a single image.


A pseudo-method that creates an object. In the Java programming language, constructors are instance methods with the same name as their class. Constructors are invoked using the new keyword.


A reserved Java keyword not used by current versions of the Java programming language.


A Java keyword used to resume program execution at the end of the current loop. If followed by a label, continue resumes execution where the label occurs.

conversational state

The field values of a session bean plus the transitive closure of the objects reachable from the bean's fields. The transitive closure of a bean is defined in terms of the serialization protocol for the Java programming language, that is, the fields that would be stored by serializing the bean instance.


Common Object Request Broker Architecture. A language independent, distributed object model specified by the Object Management Group (OMG).

core class

A public class (or interface) that is a standard member of the Java Platform. The intent is that the core classes for the Java platform, at minimum, are available on all operating systems where the Java platform runs. A program written entirely in the Java programming language relies only on core classes, meaning it can run anywhere..

core packages

The required set of APIs in a Java platform edition which must be supported in any and all compatible implementations.


The information describing the security attributes of a principal. Credentials can be acquired only through authentication or delegation.

critical section

A segment of code in which a thread uses resources (such as certain instance variables) that can be used by other threads, but that must not be used by them at the same time.



A statement that establishes an identifier and associates attributes with it, without necessarily reserving its storage (for data) or providing the implementation (for methods). See also definition.


A Java keyword optionally used after all case conditions in a switch statement. If all case conditions are not matched by the value of the switch variable, the default keyword will be executed.


A declaration that reserves storage (for data) or provides implementation (for methods). See also declaration.


An act whereby one principal authorizes another principal to use its identity or privileges with some restrictions.


Refers to a class, interface, constructor, method or field that is no longer recommended, and may cease to exist in a future version.

derived from

Class X is "derived from" class Y if class X extends class Y. See also subclass , superclass .


Running in more than one address space.

distributed application

An application made up of distinct components running in separate runtime environments, usually on different platforms connected through a network. Typical distributed applications are two-tier (client/server), three-tier (client/middleware/server), and n-tier (client/multiple middleware/multiple servers).


A Java keyword used to declare a loop that will iterate a block of statements. The loop's exit condition can be specified with the while keyword.


Document Object Model. A tree of objects with interfaces for traversing the tree and writing an XML version of it, as defined by the W3C specification.


A Java keyword used to define a variable of type double.

double precision

In the Java programming language specification, describes a floating point number that holds 64 bits of data. See also single precision .


Document Type Definition. A description of the structure and properties of a class of XML files.



A Java keyword used to execute a block of statements in the case that the test condition with the if keyword evaluates to false.

EmbeddedJava Technology

The availability of Java 2 Platform, Micro Edition technology under a restrictive license agreement that allows a licensee to leverage certain Java technologies to create and deploy a closed-box application that exposes no APIs.


The localization of knowledge within a module. Because objects encapsulate data and implementation, the user of an object can view the object as a black box that provides services. Instance variables and methods can be added, deleted, or changed, but as long as the services provided by the object remain the same, code that uses the object can continue to use it without being rewritten. See also instance variable , instance method.


A Java keyword used to declare an enumerated type.

enumerated type

A type whose legal values consist of a fixed set of constants.


An event during program execution that prevents the program from continuing normally; generally, an error. The Java programming language supports exceptions with the try, catch, and throw keywords. See also exception handler.

exception handler

A block of code that reacts to a specific type of exception. If the exception is for an error that the program can recover from, the program can resume executing after the exception handler has executed.

executable content

An application that runs from within an HTML file. See also applet .


Class X extends class Y to add functionality, either by adding fields or methods to class Y, or by overriding methods of class Y. An interface extends another interface by adding methods. Class X is said to be a subclass of class Y. See also derived from .



A data member of a class. Unless specified otherwise, a field is not static.


A Java keyword. You define an entity once and cannot change it or derive from it later. More specifically: a final class cannot be subclassed, a final method cannot be overridden and a final variable cannot change from its initialized value.


A Java keyword that executes a block of statements regardless of whether a Java Exception, or run time error, occurred in a block defined previously by the try keyword.


A Java keyword used to define a floating point number variable.


A Java keyword used to declare a loop that reiterates statements. The programmer can specify the statements to be executed, exit conditions, and initialization variables for the loop.


File Transfer Protocol. FTP, which is based on TCP/IP, enables the fetching and storing of files between hosts on the Internet. See also TCP/IP .

formal parameter list

The parameters specified in the definition of a particular method. See also actual parameter list .


garbage collection

The automatic detection and freeing of memory that is no longer in use. The Java runtime system performs garbage collection so that programmers never explicitly free objects.


A class, interface, or method that declares one or more type variables. These type variables are known as type parameters. A generic declaration defines a set of parameterized types, one for each possible invocation of the type parameter section. At runtime, all of these parameterized types share the same class, interface, or method.


This is a reserved Java keyword. However, it is not used by current versions of the Java programming language.


A collection of principals within a given security policy domain.


Graphical User Interface. Refers to the techniques involved in using graphics, along with a keyboard and a mouse, to provide an easy-to-use interface to some program.



The numbering system that uses 16 as its base. The marks 0-9 and a-f (or equivalently A-F) represent the digits 0 through 15. In programs written in the Java programming language, hexadecimal numbers must be preceded with 0x. See also octal .


A classification of relationships in which each item except the top one (known as the root) is a specialized form of the item above it. Each item can have one or more items below it in the hierarchy. In the Java class hierarchy, the root is the Object class.


HyperText Markup Language. This is a file format, based on SGML, for hypertext documents on the Internet. It is very simple and allows for the embedding of images, sounds, video streams, form fields and simple text formatting. References to other objects are embedded using URLs.


HyperText Transfer Protocol. The Internet protocol, based on TCP/IP, used to fetch hypertext objects from remote hosts. See also TCP/IP .


HyperText Transfer Protocol layered over the SSL protocol.



Interface Definition Language. APIs written in the Java programming language that provide standards-based interoperability and connectivity with CORBA (Common Object Request Broker Architecture).


The name of an item in a program written in the Java programming language.


Internet Inter-ORB Protocol. A protocol used for communication between CORBA object request brokers.


A Java keyword used to conduct a conditional test and execute a block of statements if the test evaluates to true.


An act whereby one entity assumes the identity and privileges of another entity without restrictions and without any indication visible to the recipients of the impersonator's calls that delegation has taken place. Impersonation is a case of simple delegation.


A Java keyword included in the class declaration to specify any interfaces that are implemented by the current class.


A Java keyword used at the beginning of a source file that can specify classes or entire packages to be referred to later without including their package names in the reference.


The concept of classes automatically containing the variables and methods defined in their supertypes . See also superclass , subclass .


An object of a particular class. In programs written in the Java programming language, an instance of a class is created using the new operator followed by the class name.

instance method

Any method that is invoked with respect to an instance of a class. Also called simply a method . See also class method .

instance variable

Any item of data that is associated with a particular object. Each instance of a class has its own copy of the instance variables defined in the class. Also called a field . See also class variable .


A two-argument Java keyword that tests whether the runtime type of its first argument is assignment compatible with its second argument.


A Java keyword used to define a variable of type integer.


A Java keyword used to define a collection of method definitions and constant values. It can later be implemented by classes that define this interface with the "implements" keyword.


An enormous network consisting of literally millions of hosts from many organizations and countries around the world. It is physically put together from many smaller networks and data travels by a common set of protocols.


Internet Protocol. The basic protocol of the Internet. It enables the unreliable delivery of individual packets from one host to another. It makes no guarantees about whether or not the packet will be delivered, how long it will take, or if multiple packets will arrive in the order they were sent. Protocols built on top of this add the notions of connection and reliability. See also TCP/IP .


A module that alternately decodes and executes every statement in some body of code. The Java interpreter decodes and executes bytecode for the Java virtual machine 1 . See also compiler , runtime system .



See: Java APIs for Integrated Networks (JAIN)


JAR (Java Archive) is a platform-independent file format that aggregates many files into one. Multiple applets written in the Java programming language, and their requisite components (.class files, images, sounds and other resource files) can be bundled in a JAR file and subsequently downloaded to a browser in a single HTTP transaction. It also supports file compression and digital signatures.


Sun's trademark for a set of technologies for creating and safely running software programs in both stand-alone and networked environments.

Java 2 Platform

The second generation of the Java platform. (The first generation was the JDK.) Also see "Java Platform" and "Java Platform Editions".

Java 2 Platform, Enterprise Edition (J2EE platform)

See Java 2 Platform, Enterprise Edition, under Java Platform Editions.

Java 2 Platform, Micro Edition (J2ME platform)

See Java 2 Platform, Micro Edition, under Java Platform Editions.

Java 2 Platform, Standard Edition (J2SE platform)

See Java 2 Platform, Standard Edition, under Java Platform Editions.

Java 2 SDK, Standard Edition

The Software Development Kit (SDK) is development environment for building applications, applets, and components using the Java programming language. This SDK provides a reference implementation of the J2SE platform.

Java APIs for Integrated Networks (JAIN)

enables the rapid development of Next Generation telecom products and services on the Java platform.

Java Card API

An ISO 7816-4 compliant application environment focused on smart cards.

Java Compatibility Kit (JCK)

A test suite, a set of tools, and other requirements used to certify a Java platform implementation conformant both to the applicable Java platform specifications and to Java Software reference implementations.

Java Database Connectivity (JDBC)

An industry standard for database-independent connectivity between the Java platform and a wide range of databases. The JDBC provides a call-level API for SQL-based database access.

Java Development Kit (JDK)

A software development environment for writing applets and applications in the Java programming language. Technically, the JDK is the correct name for all versions of the Java platform from 1.0 to 1.1.x.

Java Foundation Classes (JFC)

An extension that adds graphical user interface class libraries to the Abstract Windowing Toolkit (AWT).

Java IDL

See Java Interface Definition Language

Java Interface Definition Language (IDL)

A set of Java APIs that provide CORBA (Common Object Request Broker Architecture) interoperability and connectivity capabilities for the J2EE platform. These capabilities enable J2EE applications to invoke operations on remote network services using the OMG IDL and IIOP.

Java Media APIs

A set of APIs that support the integration of audio and video clips, 2D fonts, graphics, and images as well as 3D models and telephony.

Java Media Framework

The core framework supports clocks for synchronizing between different media (e.g., audio and video output). The standard extension framework allows users to do full audio and video streaming.

Java Naming and Directory Interface (JNDI)

A set of APIs that assists with the interfacing to multiple naming and directory services.

Java Native Interface

A standard programming interface for writing Java native methods and embedding the JVM into native applications. The primary goal is binary compatibility of native method libraries across all JVM implementations on a given platform.

Java Platform

Consists of class libraries, a Java virtual machine (JVM) and class loader (which comprise the runtime environment) and a compiler, debugger and other tools (which comprise the development kit). In addition, the runtime platform is subject to a set of compatibility requirements to ensure consistent and compatible implementations. Implementations that meet the compatibility requirements may qualify for Sun's targeted compatibility brands. Java 2 is the current generation of the Java Platform.

Java Platform Editions

A Java platform "edition" is a definitive and agreed-upon version of the Java platform that provides the functionality needed over a broad market segment.

An edition is comprised of two kinds of API sets: (i) "core packages," which are essential to all implementations of a given platform edition, and (ii) "optional packages," which are available for a given platform edition and which may be supported in a compatible implementation.

There are 3 distinct editions of the Java Platform:

* Java 2 Platform, Enterprise Edition:
The edition of the Java platform that is targeted at enterprises to enable development, deployment, and management of multi-tier server-centric applications.

* Java 2 Platform, Micro Edition:
The edition of the Java platform that is targeted at small, standalone or connectable consumer and embedded devices to enable development, deployment, and management of applications that can scale from smart cards through mobile devices and set-top boxes to conventional computing devices.

* Java 2 Platform, Standard Edition:
The edition of the Java platform that enables development, deployment, and management of cross-platform, general-purpose applications.

Java Remote Method Invocation (RMI)

A distributed object model for Java program to Java program, in which the methods of remote objects written in the Java programming language can be invoked from other Java virtual machines 1 , possibly on different hosts.

Java Runtime Environment (JRE)

A subset of the Java Development Kit (JDK) for end-users and developers who want to redistribute the runtime environment alone. The Java runtime environment consists of the Java virtual machine 1 , the Java core classes, and supporting files.

Java virtual machine 1

A software "execution engine" that safely and compatibly executes the byte codes in Java class files on a microprocessor (whether in a computer or in another electronic device).


A portable, platform-independent reusable component model. A component that conforms to this model is called a bean.


A tool for checking compliance of applications and applets to a specification.


A tool for tracking and managing source file changes, written in Java.


A Web scripting language that is used in both browsers and Web servers. Like all scripting languages, it is used primarily to tie other components together or to accept user input.


A technology that provides distributed persistence and data exchange mechanisms for code in Java.


See Java Database Connectivity.


Java Development Kit. A software development environment for writing applets and application in Java .


See Java Foundation Classes.

Jini Technology

A set of Java APIs that may be incorporated an optional package for any Java 2 Platform Edition. The Jini APIs enable transparent networking of devices and services and eliminates the need for system or network administration intervention by a user. The Jini technology is currently an optional package available on all Java platform editions.


See Java Naming and Directory Interface.


See Java Native Interface.


See Java Runtime Environment

Just-in-time (JIT) Compiler

A compiler that converts all of the bytecode into native machine code just as a Java program is run. This results in run-time speed improvements over code that is interpreted by a Java virtual machine.


See Java Virtual Machine (JVM).



Java sets aside words as keywords - these words are reserved by the language itself and therefore are not available as names for variables or methods.



Pertaining to how the characters in source code are translated into tokens that the compiler can understand.


A module that builds an executable, complete program from component machine code modules. The Java linker creates a runnable program from compiled classes. See also compiler , interpreter , runtime system .


The basic representation of any integer, floating point, or character value. For example, 3.0 is a double-precision floating point literal, and "a" is a character literal.

local variable

A data item known within a block, but inaccessible to code outside the block. For example, any variable defined within a method is a local variable and can't be used outside the method.


A Java keyword used to define a variable of type long.



A field or method of a class. Unless specified otherwise, a member is not static.


A function defined in a class. See also instance method , class method . Unless specified otherwise, a method is not static.


Describes a program that is designed to have parts of its code execute concurrently. See also thread .



A Java keyword that is used in method declarations to specify that the method is not implemented in the same Java source file, but rather in another language.


A Java keyword used to create an instance of a class.


The null type has one value, the null reference, represented by the literal null, which is formed from ASCII characters. A null literal is always of the null type.



The principal building blocks of object-oriented programs. Each object is a programming unit consisting of data ( instance variables ) and functionality ( instance methods ). See also class .

object-oriented design

A software design method that models the characteristics of abstract or real objects using classes and objects.


The numbering system using 8 as its base, using the numerals 0-7 as its digits. In programs written in the Java programming language, octal numbers must be preceded with 0. See also hexadecimal .

optional packages

The set or sets of APIs in a Java platform edition which are available with and may be supported in a compatible implementation. Over time, optional packages may become required in an edition as the marketplace requires them.


Object Request Broker. A library than enables CORBA objects to locate and communicate with one another.

OS principal

A principal native to the operating system on which the Java platform is executing.


Object Transaction Service. A definition of the interfaces that permit CORBA objects to participate in transactions.


Using one identifier to refer to multiple items in the same scope. In the Java programming language, you can overload methods but not variables or operators.


Providing a different implementation of a method in a subclass of the class that originally defined the method.



A group of types . Packages are declared with the package keyword.


In networking, any functional unit in the same layer as another entity.


The protocol for transferring the state of a bean between its instance variables and an underlying database.


The picture element on a display area, such as a monitor screen or printed page. Each pixel is individually accessible.


Portable Object Adapter. A CORBA standard for building server-side applications that are portable across heterogeneous ORBs.

primary key

An object that uniquely identifies an entity bean within a home.

primitive type

A variable data type in which the variable's value is of the appropriate size and format for its type: a number, a character, or a boolean value.


The identity assigned to an entity as a result of authentication.


A Java keyword used in a method or variable declaration. It signifies that the method or variable can only be accessed by other elements of its class.


A security attribute that does not have the property of uniqueness and which may be shared by many principals. An example of a privilege is a group.


A virtual address space containing one or more threads.


Characteristics of an object that users can set, such as the color of a window.


A profile is a collection of Java APIs that complements one or more Java 2 Platform Editions by adding domain-specific capabilities. Profiles may also include other defined profiles. A profile implementation requires a Java 2 Platform Edition to create a complete development and deployment environment in a targeted vertical market. Each profile is subject to an associated set of compatibility requirements.

Profiles may be usable on one or more editions.

Some examples of profiles within the Java 2 Platform, Micro Edition are:

* Personal Profile- for non-PC products that need to display Web-compatible Java-based content

* Java Card - for secure smart cards and other severely memory-constrained devices.


A Java keyword used in a method or variable declaration. It signifies that the method or variable can only be accessed by elements residing in its class, subclasses, or classes in the same package.


A Java keyword used in a method or variable declaration. It signifies that the method or variable can be accessed by elements residing in other classes.




A two-dimensional rectangular grid of pixels.


See security policy domain. Also, a string, passed as part of an HTTP request during basic authentication, that defines a protection space. The protected resources on a server can be partitioned into a set of protection spaces, each with its own authentication scheme and/or authorization database.


A variable data type in which the variable's value is an address.


A Java keyword used to finish the execution of a method. It can be followed by a value required by the method definition.


See Java Remote Method Invocation .


The point in a transaction when all updates to any databases involved in the transaction are reversed.


In a hierarchy of items, the one item from which all other items are descended. The root item has nothing above it in the hierarchy. See also hierarchy , class , package .


Remote Procedure Call. Executing what looks like a normal procedure call (or method invocation) by sending network packets to some remote host.

runtime system

The software environment in which programs compiled for the Java virtual machine 1 can run. The runtime system includes all the code necessary to load programs written in the Java programming language, dynamically link native methods, manage memory, handle exceptions, and an implementation of the Java virtual machine, which may be a Java interpreter.



Simple API for XML. An event-driven, serial-access mechanism for accessing XML documents.


Comprises a number of cooperating system components, ranging from security managers that execute as part of the application, to security measures designed into the Java virtual machine 1 and the language itself. The sandbox protects sensitive system information from access by untrusted and potentially malicious applications.


A characteristic of an identifier that determines where the identifier can be used. Most identifiers in the Java programming environment have either class or local scope. Instance and class variables and methods have class scope; they can be used outside the class and its subclasses only by prefixing them with an instance of the class or (for class variables and methods) with the class name. All other variables are declared within methods and have local scope; they can be used only within the enclosing block.

Secure Socket Layer (SSL)

A protocol that allows communication between a Web browser and a server to be encrypted for privacy.

security attributes

A set of properties associated with a principal. Security attributes can be associated with a principal by an authentication protocol.

security context

An object that encapsulates the shared state information regarding security between two entities.

security policy domain

A scope over which security policies are defined and enforced by a security administrator. A security policy domain has the following characteristics:

  • It has a collection of users (or principals).
  • It uses a well defined authentication protocol(s) for authenticating users (or principals).
  • It may have groups to simplify setting of security policies.

security technology domain

A scope over which the same security mechanism is used to enforce a security policy. Multiple security policy domains can exist within a single technology domain.


The encoding of objects, and the objects reachable from them, into a stream of bytes and the complementary reconstruction of the object graph from the stream.


A Java keyword used to define a variable of type short.

single precision

In the Java language specification, describes a floating point number with 32 bits of data. See also double precision .


Standardized Generalized Markup Language. An ISO/ANSI/ECMA standard that specifies a way to annotate text documents with information about types of sections of a document.


The Simple Object Access Protocol (SOAP) uses a combination of XML-based data structuring and the Hyper Text Transfer Protocol (HTTP) to define a standardized method for invoking methods in objects distributed in diverse operating environments across the Internet.


Structured Query Language. The standardized relational database language for defining database objects and manipulating data.


A Java keyword used to define a variable as a class variable. Classes maintain one copy of class variables regardless of how many instances exist of that class. static can also be used to define a method as a class method. Class methods are invoked by the class instead of a specific instance, and can only operate on class variables.

static field

Another name for class variable .

static method

Another name for class method .


A stream is simply a byte-stream of data that is sent from a sender to a receiver. There are two basic categories, so the package includes two abstract classes ( InputStream and OutputStream).


An array that is inside another array.


A class that is derived from a particular class, perhaps with one or more classes in between. See also superclass , supertype .


If type X extends or implements type Y, then X is a subtype of Y. See also supertype .


A class from which a particular class is derived, perhaps with one or more classes in between. See also subclass , subtype .


A Java keyword used to access members of a class inherited by the class in which it appears.


The supertypes of a type are all the interfaces and classes that are extended or implemented by that type. See also subtype , superclass .


A Java keyword used to evaluate a variable that can later be matched with a value specified by the case keyword in order to execute a group of statements.


A collection of graphical user interface (GUI) components that runs uniformly on any native platform which supports the Java virtual machine *. Because they are written entirely in the Java programming language, these components may provide functionality above and beyond that provided by native-platform equivalents. (Contrast with AWT.)


A keyword in the Java programming language that, when applied to a method or code block, guarantees that at most one thread at a time executes that code.



Transmission Control Protocol based on IP. This is an Internet protocol that provides for the reliable delivery of streams of data from one host to another. See also IP .

Technology Compatibility Kit (TCK)

A test suite, a set of tools, and other requirements used to certify an implementation of a particular Sun technology conformant both to the applicable specifications and to Sun or Sun-designated reference implementations.

thin client

A system that runs a very light operating system with no local system administration and executes applications delivered over the network.


A Java keyword that can be used to represent an instance of the class in which it appears. this can be used to access class variables and methods.


The basic unit of program execution. A process can have several threads running concurrently, each performing a different job, such as waiting for events or performing a time-consuming job that the program doesn't need to complete before going on. When a thread has finished its job, the thread is suspended or destroyed. See also process .


A Java keyword that allows the user to throw an exception or any class that implements the "throwable" interface.


A Java keyword used in method declarations that specify which exceptions are not handled within the method but rather passed to the next higher level of the program.


An atomic unit of work that modifies data. A transaction encloses one or more program statements, all of which either complete or roll back. Transactions enable multiple users to access the same data concurrently.

transaction isolation level

The degree to which the intermediate state of the data being modified by a transaction is visible to other concurrent transactions and data being modified by other transactions is visible to it.

transaction manager

Provides the services and management functions required to support transaction demarcation, transactional resource management, synchronization, and transaction context propagation.


A keyword in the Java programming language that indicates that a field is not part of the serialized form of an object. When an object is serialized, the values of its transient fields are not included in the serial representation, while the values of its non-transient fields are included.


A Java keyword that defines a block of statements that may throw a Java language exception. If an exception is thrown, an optional catch block can handle specific exceptions thrown within the try block. Also, an optional finally block will be executed regardless of whether an exception is thrown or not.


A class or interface.



A 16-bit character set defined by ISO 10646. See also ASCII . All source code in the Java programming environment is written in Unicode.


Uniform Resource Identifier. A compact string of characters for identifying an abstract or physical resource. A URI is either a URL or a URN. URLs and URNs are concrete entities that actually exist; A URI is an abstract superclass.


Uniform Resource Locator. A standard for writing a text reference to an arbitrary piece of data in the WWW. A URL looks like "protocol://host/localinfo" where protocol specifies a protocol to use to fetch the object (like HTTP or FTP), host specifies the Internet name of the host on which to find it, and localinfo is a string (often a file name) passed to the protocol handler on the remote host.


Uniform Resource Name. A unique identifier that identifies an entity, but doesn't tell where it is located. A system can use a URN to look up an entity locally before trying to find it on the Web. It also allows the Web location to change, while still allowing the entity to be found.



An item of data named by an identifier. Each variable has a type, such as int or Object, and a scope. See also class variable , instance variable , local variable .

virtual machine

An abstract specification for a computing device that can be implemented in different ways, in software or hardware. You compile to the instruction set of a virtual machine much like you'd compile to the instruction set of a microprocessor. The Java virtual machine consists of a bytecode instruction set, a set of registers, a stack, a garbage-collected heap, and an area for storing methods.


A Java keyword used in method declarations to specify that the method does not return any value. void can also be used as a nonfunctional statement.


A Java keyword used in variable declarations that specifies that the variable is modified asynchronously by concurrently running threads.


Web server

Software that provides services to access the Internet, an intranet, or an extranet. A Web server hosts Web sites, provides support for HTTP and other protocols, and executes server-side programs (such as CGI scripts or servlets) that perform certain functions.


A Java keyword used to declare a loop that iterates a block of statements. The loop's exit condition is specified as part of the while statement.

world readable files

Files on a file system that can be viewed (read) by any user. For example: files residing on Web servers can only be viewed by Internet users if their permissions have been set to world readable.


An object that encapsulates and delegates to another object to alter its interface or behavior in some way.


World Wide Web. The web of systems and the data in them that is the Internet. See also Internet .



Extensible Markup Language. A markup language that allows you to define the tags (markup) needed to identify the data and text in XML documents.