JavaServer Pages, JPA, EJB, JAX-RS and Servlets --Java technology names and acronyms can be confusing for newcomers and experienced developers. This article defines the most common Java terminology in easy-to-scan.
Note
For simplicity, the Java programming language is called Java in the rest of this document.
abstract
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.
A method that has no implementation.
AWT is a package of classes for creating components such as buttons, menus, and scrollbars for applets and standalone applications.
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.
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.
ACID
The acronym for the four properties guaranteed by transactions: atomicity, consistency, isolation, and durability.
The arguments specified in a particular method call. See also formal parameter list.
API
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.
An applet is a Java program that runs within the web browser. Applets use a graphical user interface and may have text, images, buttons, scrollbars, and sound.
argument
A data item specified in a method call. An argument can be a literal value, a variable, or an expression.
array
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.
atomic
Refers to an operation that is never interrupted or left in an incomplete state under any circumstance.
authentication
The process by which an entity proves to another entity that it is acting on behalf of a specific identity.
authorization
See access control.
autoboxing
Automatic conversion between reference and primitive types.
bean
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.
bit
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 (~).
block
In the Java programming language, any code between matching braces. Example: { x = 1; }
.
boolean
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.
break
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.
byte
A sequence of eight bits. Java provides a corresponding byte
type.
bytecode
Machine-independent code generated by the Java compiler and executed by the Java interpreter.
case
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.
casting
Explicit conversion from one data type to another.
catch
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.
char
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
.
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.
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.
classpath
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.
codebase
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.
comment
In a program, explanatory text that is ignored by the compiler. In programs written in the Java programming language, comments are delimited using //
or /*
... */
.
commit
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.
compositing
The process of superimposing one image on another to create a single image.
constructor
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.
const
A reserved Java keyword not used by current versions of the Java programming language.
continue
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.
CORBA
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.
credentials
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.
declaration
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.
default
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.
definition
A declaration that reserves storage (for data) or provides implementation (for methods). See also declaration.
delegation
An act whereby one principal authorizes another principal to use its identity or privileges with some restrictions.
deprecation
Refers to a class, interface, constructor, method or field that is no longer recommended, and may cease to exist in a future version.
Class X is "derived from" class Y if class X extends class Y. See also subclass, superclass.
distributed
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).
do
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.
DOM
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.
double
A Java keyword used to define a variable of type double
.
In the Java programming language specification, describes a floating point number that holds 64 bits of data. See also single precision.
DTD
Document Type Definition. A description of the structure and properties of a class of XML files.
else
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.
encapsulation
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.
enum
A Java keyword used to declare an enumerated type.
enumerated type
A type whose legal values consist of a fixed set of constants.
exception
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.
extends
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.
Enterprise JavaBeans (EJB)
EJB is a server-side specification that handles business logic such as persistence, transactional integrity, and security in a standardized way
A data member of a class. Unless specified otherwise, a field is not static.
final
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.
finally
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.
float
A Java keyword used to define a floating point number variable.
for
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.
FTP
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.
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.
generic
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.
goto
This is a reserved Java keyword. However, it is not used by current versions of the Java programming language.
group
A collection of principals within a given security policy domain.
GUI
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.
HTML
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.
HTTP
HyperText Transfer Protocol. The Internet protocol, based on TCP/IP, used to fetch hypertext objects from remote hosts. See also TCP/IP.
HTTPS
HyperText Transfer Protocol layered over the SSL protocol.
HotSpot VM
On platforms typically used for client applications, the JDK comes with a VM implementation called the Java HotSpot Client VM (client VM). The client VM is tuned for reducing start-up time and memory footprint. It can be invoked by using the -client
command-line option when launching an application. The JDK also comes with an implementation of the Java virtual machine called the Java HotSpot Server VM (server VM). The server VM is designed for maximum program execution speed. It can be invoked by using the -server
command-line option when launching an application.
IDL
Interface Definition Language. APIs written in the Java programming language that provide standards-based interoperability and connectivity with CORBA (Common Object Request Broker Architecture).
identifier
The name of an item in a program written in the Java programming language.
IIOP
Internet Inter-ORB Protocol. A protocol used for communication between CORBA object request brokers.
if
A Java keyword used to conduct a conditional test and execute a block of statements if the test evaluates to true.
impersonation
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.
implements
A Java keyword included in the class declaration to specify any interfaces that are implemented by the current class.
import
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.
inheritance
The concept of classes automatically containing the variables and methods defined in their supertypes. See also superclass, subclass.
instance
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.
Any method that is invoked with respect to an instance of a class. Also called simply a method. See also class method.
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.
instanceof
A two-argument Java keyword that tests whether the runtime type of its first argument is assignment compatible with its second argument.
int
A Java keyword used to define a variable of type integer
.
interface
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.
JAIN
See: Java APIs for Integrated Networks (JAIN)
JAR
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.
Java
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).
JFC are a set of GUI components and other services simplifying the development and deployment of desktop and Internet/Intranet applications. The JFC are a superset that contains AWT. JFC extends AWT by adding many components and services. JFC consists of Swing, Java 2D, AWT, Accessibility, and the Drag-and-Drop APIs.
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 (JMF)
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.
JMF enables audio, video and other time-based media to be added to applications and applets built on Java technology. This optional package, which can capture, playback, stream, and transcode multiple media formats, extends the Java platform for multimedia developers by providing a powerful toolkit to develop scalable, cross-platform technology.
Java Naming and Directory Interface (JNDI)
A set of APIs that assists with the interfacing to multiple naming and directory services.
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.
JNI is the native programming interface for Java that is part of the JDK. The JNI allows Java code to operate with applications and libraries written in other languages, such as C, C++, and assembly. Recommended only for advanced programmers.
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).
JavaBeans
A portable, platform-independent reusable component model. A component that conforms to this model is called a bean.
JavaBeans architecture provides a way of designing reusable software components, that can be visually manipulated in builder tools. JavaBeans can be simple like buttons, or more complex like a tool to access databases.
JavaCheck
A tool for checking compliance of applications and applets to a specification.
JavaSafe
A tool for tracking and managing source file changes, written in Java.
JavaScript
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.
JavaSpaces
A technology that provides distributed persistence and data exchange mechanisms for code in Java.
JDBC
See Java Database Connectivity.
JDBC is a Java API for executing SQL statements. By using the JDBC API, you can access almost any data source, from relational databases to spreadsheets to flat files.
Java Development Kit. A software development environment for writing applets and application in Java .
JDK is the short-cut name for the set of Java development tools, consisting of the API classes, a Java compiler, and the Java virtual machine interpreter, regardless of which version. The JDK is used to compile Java applications and applets. The most current version is the J2SE., the preferred term these days. If you use J2SE 1.2 and later to develop applications, you are using what's known as the Java 2 Platform.
JFC
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.
JNDI
See Java Naming and Directory Interface.
JNI
JRE
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.
JVM
See Java Virtual Machine (JVM).
JavaServer Pages, JPA, EJB, JAX-RS and Servlets --Java technology names and acronyms can be confusing for newcomers and experienced developers. This article defines the most common Java terminology in easy-to-scan.
Java Persistence API
The Java Persistence API provides a POJO persistence model for object-relational mapping. More info
JAX-RS
JAX-RS is a Java API for RESTful Services. It supports the creation of web services using Representational State Transfer (REST) architecture. JAX-RS provides annotations to help with mapping a resource class (POJO) as a web resource
Java Advanced Imaging (JAI) API
The JAI API provides a set of object-oriented interfaces that support a simple, high-level programming model which lets you manipulate images easily, and JAI broadens the reach of the Java platform to allow sophisticated, high performance image processing functionality to be incorporated into Java applets and applications.
Java API
The Java Application Programming Interface (API) is prewritten code, organized into packages of similar topics. For instance, the Applet and AWT packages include classes for creating fonts, menus, and buttons.
Java API for XML Processing (JAXP)
JAXP enables applications to parse validate and transform XML documents. The latest release is JAXP 1.3, which is part of J2SE 5.0. An implementation that works for earlier versions of J2SE is also available.
Java Authentication and Authorization Services (JAAS)
JAAS is a set of APIs that enable services to authenticate and enforce access controls upon users. It implements a Java technology version of the standard Pluggable Authentication Module (PAM) framework, and supports user-based authorization.
Java Communications API
The Java Communications API can be used to write platform-independent communications applications for technologies such as voice mail, fax, and smart cards.
Java Cryptography Extension (JCE)
JCE is a set of packages that provides a framework and implementations for encryption, key generation and key agreement, and Message Authentication Code (MAC) algorithms. Support for encryption includes symmetric, asymmetric, block, and stream ciphers. The software also supports secure streams and sealed objects.
Java 3D API
The Java 3D API provides a set of object-oriented interfaces that support a simple, high-level programming model you can use to build, render, and control the behavior of 3D objects and visual environments. With the Java 3D API, you can incorporate high-quality, scalable, platform-independent 3D graphics into applications and applets based on Java technology.
Java Virtual Machine1 (JVM)
The JVM executes instructions that a Java compiler generates. This runtime environment, or JVM, is embedded in various products, such as web browsers, servers, and operating systems.
Java Web Start
Using Java Web Start technology, standalone Java software applications can be deployed with a single click over the network. Java Web Start ensures the most current version of the application will be deployed, as well as the correct version of the Java Runtime Environment (JRE).
Javadoc Tool
The Javadoc tool is used to generate API documentation in HTML format from doc comments in source code. It can be downloaded only as part of the JDK download.
JavaHelp System
JavaHelp software is a full-featured, platform-independent, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices. Authors can also use the JavaHelp software to deliver online documentation for the Web and corporate intranet.
JavaServer Faces Technology
JavaServer Faces technology simplifies building user interfaces for JavaServer applications. Developers of various skill levels can quickly build web applications by assembling reusable UI components in a page, connecting these components to an application data source, and wiring client-generated events to server-side event handlers.
JavaServer Pages (JSP)
Create dynamic web pages with JSP pages by embedding scriptlets (Java programming language code) with HTML. JSP pages process forms, perform calculations, or do anything else that can be written with the Java programming language. To develop and test JSP pages, download NetBeans
JINI
The Jini network technology enables any service--from enterprise systems to kitchen appliances--to network smoothly and simply. The Jini architecture lets each service (device or software) tell others how to talk to it, without any administrator settings.
Java Persistence API
The Java Persistence API provides a POJO persistence model for object-relational mapping. More info
JAX-RS
JAX-RS is a Java API for RESTful Services. It supports the creation of web services using Representational State Transfer (REST) architecture. JAX-RS provides annotations to help with mapping a resource class (POJO) as a web resource
Java Advanced Imaging (JAI) API
The JAI API provides a set of object-oriented interfaces that support a simple, high-level programming model which lets you manipulate images easily, and JAI broadens the reach of the Java platform to allow sophisticated, high performance image processing functionality to be incorporated into Java applets and applications.
Java API
The Java Application Programming Interface (API) is prewritten code, organized into packages of similar topics. For instance, the Applet and AWT packages include classes for creating fonts, menus, and buttons.
Java API for XML Processing (JAXP)
JAXP enables applications to parse validate and transform XML documents. The latest release is JAXP 1.3, which is part of J2SE 5.0. An implementation that works for earlier versions of J2SE is also available.
Java Authentication and Authorization Services (JAAS)
JAAS is a set of APIs that enable services to authenticate and enforce access controls upon users. It implements a Java technology version of the standard Pluggable Authentication Module (PAM) framework, and supports user-based authorization.
Java Communications API
The Java Communications API can be used to write platform-independent communications applications for technologies such as voice mail, fax, and smart cards.
Java Cryptography Extension (JCE)
JCE is a set of packages that provides a framework and implementations for encryption, key generation and key agreement, and Message Authentication Code (MAC) algorithms. Support for encryption includes symmetric, asymmetric, block, and stream ciphers. The software also supports secure streams and sealed objects.
Java 3D API
The Java 3D API provides a set of object-oriented interfaces that support a simple, high-level programming model you can use to build, render, and control the behavior of 3D objects and visual environments. With the Java 3D API, you can incorporate high-quality, scalable, platform-independent 3D graphics into applications and applets based on Java technology.
Java Virtual Machine1 (JVM)
The JVM executes instructions that a Java compiler generates. This runtime environment, or JVM, is embedded in various products, such as web browsers, servers, and operating systems.
Java Web Start
Using Java Web Start technology, standalone Java software applications can be deployed with a single click over the network. Java Web Start ensures the most current version of the application will be deployed, as well as the correct version of the Java Runtime Environment (JRE).
Javadoc Tool
The Javadoc tool is used to generate API documentation in HTML format from doc comments in source code. It can be downloaded only as part of the JDK download.
JavaHelp System
JavaHelp software is a full-featured, platform-independent, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices. Authors can also use the JavaHelp software to deliver online documentation for the Web and corporate intranet.
JavaServer Faces Technology
JavaServer Faces technology simplifies building user interfaces for JavaServer applications. Developers of various skill levels can quickly build web applications by assembling reusable UI components in a page, connecting these components to an application data source, and wiring client-generated events to server-side event handlers.
JavaServer Pages (JSP)
Create dynamic web pages with JSP pages by embedding scriptlets (Java programming language code) with HTML. JSP pages process forms, perform calculations, or do anything else that can be written with the Java programming language. To develop and test JSP pages, download NetBeans
JINI
The Jini network technology enables any service--from enterprise systems to kitchen appliances--to network smoothly and simply. The Jini architecture lets each service (device or software) tell others how to talk to it, without any administrator settings.
keyword
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.
lexical
Pertaining to how the characters in source code are translated into tokens that the compiler can understand.
linker
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.
literal
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.
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.
long
A Java keyword used to define a variable of type long
.
member
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.
multithreaded
Describes a program that is designed to have parts of its code execute concurrently. See also thread.
native
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.
new
A Java keyword used to create an instance of a class.
null
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.
object
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.
ORB
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.
OTS
Object Transaction Service. A definition of the interfaces that permit CORBA objects to participate in transactions.
overloading
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.
overriding
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.
persistence
The protocol for transferring the state of a bean between its instance variables and an underlying database.
pixel
The picture element on a display area, such as a monitor screen or printed page. Each pixel is individually accessible.
POA
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.
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.
principal
The identity assigned to an entity as a result of authentication.
private
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.
privilege
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.
property
Characteristics of an object that users can set, such as the color of a window.
profiles
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.
protected
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.
public
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.
raster
A two-dimensional rectangular grid of pixels.
realm
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.
return
A Java keyword used to finish the execution of a method. It can be followed by a value required by the method definition.
RMI
See Java Remote Method Invocation.
RMI lets Java applications communicate across a network. The communicating applications can be running on different computers on opposite sides of the planet. This higher-level and method-based approach to network communications allows access to a remote object as easily as a local object.
rollback
The point in a transaction when all updates to any databases involved in the transaction are reversed.
root
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.
RPC
Remote Procedure Call. Executing what looks like a normal procedure call (or method invocation) by sending network packets to some remote host.
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.
SAX
Simple API for XML. An event-driven, serial-access mechanism for accessing XML documents.
sandbox
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.
scope
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.
serialization
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.
short
A Java keyword used to define a variable of type short
.
In the Java language specification, describes a floating point number with 32 bits of data. See also double precision.
SGML
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.
SQL
Structured Query Language. The standardized relational database language for defining database objects and manipulating data.
static
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.
Another name for class variable.
Another name for class method.
stream
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 java.io
package includes two abstract classes ( InputStream
and OutputStream
).
subarray
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.
super
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.
switch
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.)
synchronized
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.
Servlets
A servlet is an extension to a server that enhances the server's functionality. Servlets are most commonly used to process forms, handle redirects or authenticate user names and passwords, and create dynamic content. To develop and test servlets, download NetBeans.
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.
this
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.
throw
A Java keyword that allows the user to throw an exception or any class that implements the "throwable" interface.
throws
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.
transaction
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.
transient
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.
try
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.
URI
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.
URL
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.
URN
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.
variable
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.
void
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.
volatile
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.
while
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.
wrapper
An object that encapsulates and delegates to another object to alter its interface or behavior in some way.
WWW
World Wide Web. The web of systems and the data in them that is the Internet. See also Internet.
X
XML
Extensible Markup Language. A markup language that allows you to define the tags (markup) needed to identify the data and text in XML documents.
1