epubjs
Version:
Render ePub documents in the browser, across many devices
371 lines • 67.5 kB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Glossary</title><link rel="stylesheet" href="core.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"/></head><body><div class="glossary" title="Glossary"><div class="titlepage"><div><div><h1 class="title"><a id="learnjava3-GLOSS"/>Glossary</h1></div></div></div><dl><dt><a id="gl_abstract"/>abstract</dt><dd><p>The <a id="I_indexterm_id839659" class="indexterm"/><code class="literal">abstract</code> keyword is
used to declare abstract methods and classes. An abstract method has no
implementation defined; it is declared with arguments and a return type
as usual, but the body enclosed in curly braces is replaced with a
semicolon. The implementation of an abstract method is provided by a
subclass of the class in which it is defined. If an abstract method
appears in a class, the class is also abstract.</p></dd><dt>annotations</dt><dd><p><a id="I_indexterm_id839678" class="indexterm"/>Metadata added to Java source code using the @ tag syntax.
Annotations can be used by the compiler or at runtime to augment
classes, provide data or mappings, or flag additional services.</p></dd><dt>Ant</dt><dd><p><a id="I_indexterm_id839694" class="indexterm"/>A popular, XML-based build tool for Java applications. Ant
builds can compile, package, and deploy Java source code as well as
generate documentation and perform other activities through pluggable
“targets.”</p></dd><dt>API (Application Programming Interface)</dt><dd><p><a id="I_indexterm_id839712" class="indexterm"/> <a id="I_indexterm_id839719" class="indexterm"/>An API consists of the methods and variables programmers
use to work with a component or tool in their applications. The Java
language APIs consist of the classes and methods of the <code class="literal">java.lang</code>, <code class="literal">java.util</code>, <code class="literal">java.io</code>, <code class="literal">java.text</code>, and <code class="literal">java.net</code> packages and many others.</p></dd><dt>applet</dt><dd><p><a id="I_indexterm_id839759" class="indexterm"/>An embedded Java application that runs in the context of
an applet viewer, such as a web browser.</p></dd><dt><applet> tag</dt><dd><p><a id="I_indexterm_id839774" class="indexterm"/>An HTML tag that embeds an applet within a web
document.</p></dd><dt>appletviewer</dt><dd><p><a id="I_indexterm_id839788" class="indexterm"/>Sun’s application that runs and displays Java applets
outside of a web browser.</p></dd><dt>application</dt><dd><p>A Java program that runs standalone, as compared with an
applet.</p></dd><dt>apt (Annotation Processing Tool)</dt><dd><p><a id="I_indexterm_id839809" class="indexterm"/> <a id="I_indexterm_id839816" class="indexterm"/>A frontend for the Java compiler that processes
annotations via a pluggable factory architecture, allowing users to
implement custom compile-time annotations.</p></dd><dt>assertion</dt><dd><p><a id="I_indexterm_id839830" class="indexterm"/>A language feature used to test for conditions that should
be guaranteed by program logic. If a condition checked by an assertion
is found to be <em class="filename">false</em>, a fatal error
is thrown. For added performance, assertions can be disabled when an
application is deployed.</p></dd><dt>atomic</dt><dd><p><a id="I_indexterm_id839851" class="indexterm"/>Discrete or transactional in the sense that an operation
happens as a unit, in an all-or-nothing fashion. Certain operations in
the Java virtual machine (VM) and provided by the Java concurrency API
are atomic.</p></dd><dt>AWT (Abstract Window Toolkit)</dt><dd><p><a id="I_indexterm_id839868" class="indexterm"/> <a id="I_indexterm_id839874" class="indexterm"/>Java’s original platform-independent windowing, graphics,
and user interface toolkit.</p></dd><dt>BeanShell</dt><dd><p><a id="I_indexterm_id839893" class="indexterm"/>An open source, lightweight, Java-compatible scripting
language that can be used for Java experimentation, teaching,
application extension, configuration, and debugging.</p></dd><dt>Boojum</dt><dd><p><a id="I_indexterm_id839908" class="indexterm"/>The mystical, spectral, alter ego of a Snark. From the
1876 Lewis Carroll poem “The Hunting of the Snark.”</p></dd><dt>Boolean</dt><dd><p><a id="I_indexterm_id839922" class="indexterm"/>A primitive Java data type that contains a <code class="literal">true</code> or <code class="literal">false</code> value.</p></dd><dt>bounds</dt><dd><p><a id="I_indexterm_id839945" class="indexterm"/>In Java generics, a limitation on the type of a type
parameter. An upper bound specifies that a type must extend (or is
assignable to) a specific Java class. A lower bound is used to indicate
that a type must be a supertype of (or is assignable from) the specified
type.</p></dd><dt>boxing</dt><dd><p><a id="I_indexterm_id839961" class="indexterm"/>Wrapping of primitive types in Java by their object
wrapper types. See also <span class="emphasis"><em><a class="xref" href="go01.html#unboxing" title="unboxing">unboxing</a></em></span>.</p></dd><dt>byte</dt><dd><p><a id="I_indexterm_id839981" class="indexterm"/>A primitive Java data type that’s an 8-bit
two’s-complement signed number.</p></dd><dt>callback</dt><dd><p><a id="I_indexterm_id839996" class="indexterm"/>A behavior that is defined by one object and then later
invoked by another object when a particular event occurs. The Java event
mechanism is a kind of callback.</p></dd><dt>cast</dt><dd><p><a id="I_indexterm_id840012" class="indexterm"/>The changing of the apparent type of a Java object from
one type to another, specified type. Java casts are checked both
statically by the Java compiler and at runtime.</p></dd><dt><a id="gl_catch"/>catch</dt><dd><p><a id="I_indexterm_id840027" class="indexterm"/>The Java <code class="literal">catch</code>
statement introduces an exception-handling block of code following a
<code class="literal">try</code> statement. The <code class="literal">catch</code> keyword is followed by an exception type
and argument name in parentheses and a block of code within curly
braces.</p></dd><dt>certificate</dt><dd><p><a id="I_indexterm_id840056" class="indexterm"/>An electronic document using a digital signature to assert
the identity of a person, group, or organization. Certificates attest to
the identity of a person or group and contain that organization’s public
key. A certificate is signed by a certificate authority with its digital
signature.</p></dd><dt>certificate authority (CA)</dt><dd><p><a id="I_indexterm_id840074" class="indexterm"/> <a id="I_indexterm_id840080" class="indexterm"/>An organization that is entrusted to issue certificates,
taking whatever steps are necessary to verify the real-world identity
for which it is issuing the certificate.</p></dd><dt>char</dt><dd><p><a id="I_indexterm_id840094" class="indexterm"/>A primitive Java data type; a variable of type <code class="literal">char</code> holds a single 16-bit Unicode character.</p></dd><dt>class</dt><dd><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>The fundamental unit that defines an object in most
object-oriented programming languages. A class is an encapsulated
collection of variables and methods that may have privileged access
to one another. Usually a class can be instantiated to produce an
object that’s an instance of the class, with its own unique set of
data.<a id="I_indexterm_id840132" class="indexterm"/></p></li><li class="listitem"><p>The <code class="literal">class</code> keyword is used
to declare a class, thereby defining a new object type.</p></li></ol></div></dd><dt>classloader</dt><dd><p><a id="I_indexterm_id840154" class="indexterm"/>An instance of the class <code class="literal">java.lang.ClassLoader</code>, which is responsible
for loading Java binary classes into the Java VM. Classloaders help
partition classes based on their source for both structural and security
purposes and can also be chained
in a parent-child hierarchy.</p></dd><dt>class method</dt><dd><p>See <span class="emphasis"><em><a class="xref" href="go01.html#gl_staticmethod" title="static method">static method</a></em></span>.</p></dd><dt>classpath</dt><dd><p><a id="I_indexterm_id840191" class="indexterm"/>The sequence of path locations specifying directories and
archive files containing compiled Java class files and resources, which
are searched in order to find components of a Java application.</p></dd><dt><a id="gl_classvariable"/>class variable</dt><dd><p>See <span class="emphasis"><em><a class="xref" href="go01.html#gl_staticvariable" title="static variable">static variable</a></em></span>.</p></dd><dt><a id="gl_client"/>client</dt><dd><p><a id="I_indexterm_id840220" class="indexterm"/>The consumer of a resource or the party that initiates a
conversation in the case of a networked client/server application. See
also <span class="emphasis"><em><a class="xref" href="go01.html#gl_server" title="server">server</a></em></span>.</p></dd><dt>Collections API</dt><dd><p>Classes in the core <code class="literal">java.util</code>
package for working with and sorting structured collections or maps of
items. This API includes the <code class="literal">Vector</code>
and <code class="literal">Hashtable</code> classes as well as
newer items such as <code class="literal">List</code>, <code class="literal">Map</code>, and <code class="literal">Queue</code>.</p></dd><dt>compilation unit</dt><dd><p><a id="I_indexterm_id840278" class="indexterm"/>The unit of source code for a Java class. A compilation
unit normally contains a single class definition and in most current
development environments is simply a file with a
<span class="emphasis"><em>.java</em></span> extension.</p></dd><dt>compiler</dt><dd><p><a id="I_indexterm_id840295" class="indexterm"/>A program that translates source code into executable
code.</p></dd><dt>component architecture</dt><dd><p><a id="I_indexterm_id840308" class="indexterm"/>A methodology for building parts of an application. It is
a way to build reusable objects that can be easily assembled to form
applications.</p></dd><dt>composition</dt><dd><p><a id="I_indexterm_id840321" class="indexterm"/>Combining existing objects to create another, more complex
object. When you compose a new object, you create complex behavior by
delegating tasks to the internal objects. Composition is different from
inheritance, which defines a new
object by changing or refining the behavior of an old object. See also
<span class="emphasis"><em><a class="xref" href="go01.html#gl_inheritance" title="inheritance">inheritance</a></em></span>.</p></dd><dt>constructor</dt><dd><p><a id="I_indexterm_id840346" class="indexterm"/>A special method that is invoked automatically when a new
instance of a class is created. Constructors are used to initialize the
variables of the newly created object. The constructor method has the
same name as the class and no explicit return value.</p></dd><dt>content handler</dt><dd><p><a id="I_indexterm_id840362" class="indexterm"/>A class that is called to parse a particular type of data
and that converts it to an appropriate object.</p></dd><dt>datagram</dt><dd><p><a id="I_indexterm_id840375" class="indexterm"/>A packet of data normally sent using a connectionless
protocol such as UDP, which provides no guarantees about delivery or
error checking and provides no control information.</p></dd><dt>data hiding</dt><dd><p>See <span class="emphasis"><em><a class="xref" href="go01.html#gl_encapsulation" title="encapsulation">encapsulation</a></em></span>.</p></dd><dt><a id="gl_deepcopy"/>deep copy</dt><dd><p><a id="I_indexterm_id840407" class="indexterm"/>A duplicate of an object along with all of the objects
that it references, transitively. A deep copy duplicates the entire
“graph” of objects, instead of just duplicating references. See also
<span class="emphasis"><em><a class="xref" href="go01.html#gl_shallowcopy" title="shallow copy">shallow copy</a></em></span>.</p></dd><dt>DOM (Document Object Model)</dt><dd><p><a id="I_indexterm_id840428" class="indexterm"/>An in-memory representation of a fully parsed XML document
using objects with names like <code class="literal">Element</code>, <code class="literal">Attribute</code>, and <code class="literal">Text</code>. The Java XML DOM API binding is
standardized by the World Wide Web Consortium (W3C).</p></dd><dt>double</dt><dd><p><a id="I_indexterm_id840460" class="indexterm"/>A Java primitive data type; a <code class="literal">double</code> value is a 64-bit (double-precision)
floating-point number.</p></dd><dt>DTD (Document Type Definition)</dt><dd><p><a id="I_indexterm_id840480" class="indexterm"/> <a id="I_indexterm_id840487" class="indexterm"/>A document containing specialized language that expresses
constraints on the structure of XML tags and tag attributes. DTDs are
used to validate an XML document and can constrain the order and nesting of tags as well as the allowed
values of attributes.</p></dd><dt>EJB (Enterprise JavaBeans)</dt><dd><p><a id="I_indexterm_id840507" class="indexterm"/> <a id="I_indexterm_id840514" class="indexterm"/>A server-side business component architecture named for,
but not significantly related to,
the JavaBeans component architecture. EJBs represent business services
and database components and provide declarative security and
transactions.</p></dd><dt><a id="gl_encapsulation"/>encapsulation</dt><dd><p><a id="I_indexterm_id840536" class="indexterm"/>The object-oriented programming technique of limiting the
exposure of variables and methods to simplify the API of a class or
package. Using the private and <em class="filename">protected</em> keywords, a programmer can limit
the exposure of internal (“black box”) parts of a class. Encapsulation
reduces bugs and promotes reusability and modularity of classes. This
technique is also known as <span class="emphasis"><em>data hiding</em></span>.</p></dd><dt><a id="gl_enum"/>enum</dt><dd><p><a id="I_indexterm_id840563" class="indexterm"/>The Java keyword for declaring an enumerated type. An enum
holds a list of constant object identifiers that can be used as a
typesafe alternative to numeric constants that serve as identifiers or
labels.</p></dd><dt>enumeration</dt><dd><p>See <span class="emphasis"><em><a class="xref" href="go01.html#gl_enum" title="enum">enum</a></em></span>.</p></dd><dt><a id="gl_erasure"/>erasure</dt><dd><p><a id="I_indexterm_id840590" class="indexterm"/>The implementation technique used by Java generics in
which generic type information is removed (erased) and distilled to raw
Java types at compilation. Erasure provides backward compatibility with
nongeneric Java code, but introduces some difficulties in the
language.</p></dd><dt>event</dt><dd><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A user’s action, such as a mouse-click or
keypress.<a id="I_indexterm_id840621" class="indexterm"/></p></li><li class="listitem"><p>The Java object delivered to a registered event listener in
response to a user action or other activity in the system.</p></li></ol></div></dd><dt>exception</dt><dd><p><a id="I_indexterm_id840644" class="indexterm"/>A signal that some unexpected condition has occurred in
the program. In Java, exceptions are objects that are subclasses of
<code class="literal">Exception</code> or <code class="literal">Error</code>(which themselves are subclasses of
<code class="literal">Throwable</code>). Exceptions in Java are
“raised” with the <code class="literal">throw</code> keyword and
handled with the <code class="literal">catch</code> keyword. See
also <span class="emphasis"><em><a class="xref" href="go01.html#gl_catch" title="catch">catch</a></em></span>, <span class="emphasis"><em><a class="xref" href="go01.html#gl_throw" title="throw">throw</a></em></span>, and <span class="emphasis"><em><a class="xref" href="go01.html#gl_throws" title="throws">throws</a></em></span>.</p></dd><dt>exception chaining</dt><dd><p><a id="I_indexterm_id840703" class="indexterm"/>The design pattern of catching an exception and throwing a
new, higher-level, or more appropriate exception that contains the
underlying exception as its <span class="emphasis"><em>cause</em></span>. The “cause”
exception can be retrieved if necessary.</p></dd><dt><a id="gl_extends"/>extends</dt><dd><p><a id="I_indexterm_id840725" class="indexterm"/>A keyword used in a <code class="literal">class</code> declaration to specify the superclass of
the class being defined. The class being defined has access to all the
<code class="literal">public</code> and <code class="literal">protected</code> variables and methods of the
superclass (or, if the class being defined is in the same package, it
has access to all <code class="literal">nonprivate</code>
variables and methods). If a class definition omits the <code class="literal">extends</code> clause, its superclass is taken to be
<code class="literal">java.lang.Object</code>.</p></dd><dt><a id="gl_final"/>final</dt><dd><p><a id="I_indexterm_id840776" class="indexterm"/> <a id="I_indexterm_id840784" class="indexterm"/>A keyword modifier that may be applied to classes,
methods, and variables. It has a similar, but not identical, meaning in
each case. When <code class="literal">final</code> is applied to a
class, it means that the class may never be subclassed. <code class="literal">java.lang.System</code> is an example of a <code class="literal">final</code> class. When <code class="literal">final</code> is applied to a variable, the variable
is a constant—that is, it can’t be modified.</p></dd><dt>finalize</dt><dd><p><a id="I_indexterm_id840821" class="indexterm"/>A reserved method name. The <code class="literal">finalize()</code> method is called by the Java VM
when an object is no longer being used (i.e., when there are no further
references to it) but before the object’s memory is actually reclaimed
by the system. A finalizer should perform cleanup tasks and free system
resources before the object is discarded by Java’s garbage collection
system.</p></dd><dt><a id="gl_finally"/>finally</dt><dd><p>A keyword that introduces the <code class="literal">finally</code> block of a <code class="literal">try</code>/<code class="literal">catch</code>/<code class="literal">finally</code> construct. <code class="literal">catch</code> and <code class="literal">finally</code> blocks provide exception handling and routine cleanup for
code in a <code class="literal">try</code> block. The <code class="literal">finally</code> block is optional and appears after
the <code class="literal">try</code> block, and after zero or more
<code class="literal">catch</code> blocks. The code in a <code class="literal">finally</code> block is executed once, regardless of
how the code in the try block executes. In normal execution, control
reaches the end of the <code class="literal">try</code> block and
proceeds to the <code class="literal">finally</code> block, which
generally performs any necessary cleanup.</p></dd><dt>float</dt><dd><p><a id="I_indexterm_id840930" class="indexterm"/>A Java primitive data type; a <code class="literal">float</code> value is a 32-bit (single-precision)
floating-point number represented in IEEE 754 format.</p></dd><dt>garbage collection</dt><dd><p><a id="I_indexterm_id840949" class="indexterm"/>The process of reclaiming the memory of objects no longer
in use. An object is no longer in use when there are no references to it
from other objects in the system and no references in any local
variables on the method call stack.</p></dd><dt>generics</dt><dd><p><a id="I_indexterm_id840965" class="indexterm"/>The syntax and implementation of parameterized types in
the Java language, added in Java 5.0. Generic types are Java classes
that are parameterized by the user on one or more additional Java types
to specialize the behavior of the class. Generics are sometimes referred
to as <span class="emphasis"><em>templates</em></span> in other languages.</p></dd><dt>generic class</dt><dd><p><a id="I_indexterm_id840985" class="indexterm"/>A class that uses the Java generics syntax and is
parameterized by one or more type variables, which represent class types
to be substituted by the user of the class. Generic classes are
particularly useful for container objects and collections that can be
specialized to operate on a specific type of element.</p></dd><dt>generic method</dt><dd><p><a id="I_indexterm_id841004" class="indexterm"/>A method that uses the Java generics syntax and has one or
more arguments or return types that refer to type variables representing
the actual type of data element the method will use. The Java compiler
can often infer the types of the type variables from the usage context
of the method.</p></dd><dt>graphics context</dt><dd><p><a id="I_indexterm_id841023" class="indexterm"/>A drawable surface represented by the <code class="literal">java.awt.Graphics</code> class. A graphics context
contains contextual information about the drawing area and provides
methods for performing drawing operations in it.</p></dd><dt>GUI (graphical user interface)</dt><dd><p><a id="I_indexterm_id841042" class="indexterm"/> <a id="I_indexterm_id841049" class="indexterm"/>A traditional, visual user interface consisting of a
window containing graphical items such as buttons, text fields,
pull-down menus, dialog boxes, and other standard interface
components.</p></dd><dt><a id="gl_hashcode"/>hashcode</dt><dd><p><a id="I_indexterm_id841065" class="indexterm"/>A random-looking identifying number, based on the data
content of an object, used as a kind of signature for the object. A
hashcode is used to store an object in a hash table (or hash map). See
also <span class="emphasis"><em><a class="xref" href="go01.html#gl_hashtable" title="hash table">hash table</a></em></span>.</p></dd><dt><a id="gl_hashtable"/>hash table</dt><dd><p><a id="I_indexterm_id841086" class="indexterm"/>An object that is like a dictionary or an associative
array. A hash table stores and retrieves elements using key values
called hashcodes. See also <span class="emphasis"><em><a class="xref" href="go01.html#gl_hashcode" title="hashcode">hashcode</a></em></span>.</p></dd><dt>hostname</dt><dd><p><a id="I_indexterm_id841104" class="indexterm"/>The human-readable name given to an individual computer
attached to the Internet.</p></dd><dt>HotJava</dt><dd><p><a id="I_indexterm_id841116" class="indexterm"/>An early web browser written in Java, capable of
downloading and running Java applets.</p></dd><dt>HTTP (Hypertext Transfer Protocol)</dt><dd><p><a id="I_indexterm_id841129" class="indexterm"/> <a id="I_indexterm_id841136" class="indexterm"/>The protocol used by web browsers or other clients to talk
to web servers. The simplest form of the protocol uses the commands
<code class="literal">GET</code> to request a file and POST to
send data.</p></dd><dt>IDE (Integrated Development Environment)</dt><dd><p><a id="I_indexterm_id841156" class="indexterm"/> <a id="I_indexterm_id841162" class="indexterm"/>A GUI tool such as NetBeans or Eclipse that provides
source editing, compiling, running, debugging, and deployment
functionality for developing Java applications.</p></dd><dt>implements</dt><dd><p><a id="I_indexterm_id841176" class="indexterm"/>A keyword used in class declarations to indicate that the
class implements the named interface or interfaces. The <code class="literal">implements</code> clause is optional in class
declarations; if it appears, it must follow the <code class="literal">extends</code> clause (if any). If an implements
clause appears in the declaration of a non-<code class="literal">abstract</code> class, every method from each
specified interface must be implemented by the class or by one of its
superclasses.</p></dd><dt>import</dt><dd><p><a id="I_indexterm_id841208" class="indexterm"/>The <code class="literal">import</code> statement
makes Java classes available to the current class under an abbreviated
name or disambiguates classes imported in bulk by other <code class="literal">import</code> statements. (Java classes are always
available by their fully qualified name, assuming the appropriate class
file can be found relative to the <code class="literal">CLASSPATH</code> environment variable and that the
class file is readable. <code class="literal">import</code>
doesn’t make the class available; it just saves typing and makes your
code more legible.) Any number of <code class="literal">import</code> statements may appear in a Java
program. They must appear, however, after the optional <code class="literal">package</code> statement at the top of the file, and
before the first class or interface definition in the file.</p></dd><dt><a id="gl_inheritance"/>inheritance</dt><dd><p><a id="I_indexterm_id841262" class="indexterm"/>An important feature of object-oriented programming that
involves defining a new object by changing or refining the behavior of
an existing object. Through inheritance, an object implicitly contains
all of the non-<code class="literal">private</code> variables and
methods of its superclass. Java supports single inheritance of classes
and multiple inheritance of interfaces.</p></dd><dt>inner class</dt><dd><p><a id="I_indexterm_id841290" class="indexterm"/>A class definition that is nested within another class or
a method. An inner class functions within the lexical scope of another
class.</p></dd><dt><a id="gl_instance"/>instance</dt><dd><p><a id="I_indexterm_id841307" class="indexterm"/>An occurrence of something, usually an object. When a
class is instantiated to produce an object, we say the object is an
<span class="emphasis"><em>instance</em></span> of the class.</p></dd><dt>instance method</dt><dd><p><a id="I_indexterm_id841323" class="indexterm"/>A non-<code class="literal">static</code> method of
a class. Such a method is passed an implicit <code class="literal">this</code> reference to the object that invoked it.
See also <span class="emphasis"><em><a class="xref" href="go01.html#gl_static" title="static">static</a></em></span>;
<span class="emphasis"><em><a class="xref" href="go01.html#gl_staticmethod" title="static method">static method</a></em></span>.</p></dd><dt>instanceof</dt><dd><p><a id="I_indexterm_id841357" class="indexterm"/>A Java operator that returns <code class="literal">true</code> if the object on its left side is an
instance of the class (or implements the interface) specified on its
right side. <code class="literal">instanceof</code> returns
<code class="literal">false</code> if the object isn’t an instance
of the specified class or doesn’t implement the specified interface. It
also returns <code class="literal">false</code> if the specified
object is <code class="literal">null</code>.</p></dd><dt>instance variable</dt><dd><p><a id="I_indexterm_id841402" class="indexterm"/>A non-<code class="literal">static</code> variable
of a class. Each instance of a class has an independent copy of all of
the instance variables of the class. See also <span class="emphasis"><em><a class="xref" href="go01.html#gl_classvariable" title="class variable">class variable</a></em></span>; <span class="emphasis"><em><a class="xref" href="go01.html#gl_static" title="static">static</a></em></span>.</p></dd><dt>int</dt><dd><p><a id="I_indexterm_id841433" class="indexterm"/>A primitive Java data type that’s a 32-bit
two’s-complement signed number.</p></dd><dt>interface</dt><dd><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A keyword used to declare an interface.<a id="I_indexterm_id841457" class="indexterm"/></p></li><li class="listitem"><p>A collection of abstract methods that collectively define a
type in the Java language. Classes implementing the methods may
declare that they implement the interface type and instances of
them may be treated as that type.</p></li></ol></div></dd><dt>internationalization</dt><dd><p><a id="I_indexterm_id841473" class="indexterm"/>The process of making an application accessible to people
who speak a variety of languages. Sometimes abbreviated I18N.</p></dd><dt>interpreter</dt><dd><p><a id="I_indexterm_id841489" class="indexterm"/>The module that decodes and executes Java bytecode. Most
Java bytecode is not, strictly speaking, interpreted any longer but
compiled to native code dynamically by the Java VM.</p></dd><dt>introspection</dt><dd><p><a id="I_indexterm_id841502" class="indexterm"/>The process by which a JavaBean provides additional
information about itself, supplementing information learned by
reflection.</p></dd><dt>ISO 8859-1</dt><dd><p><a id="I_indexterm_id841515" class="indexterm"/>An 8-bit character encoding standardized by the ISO. This
encoding is also known as Latin-1 and contains characters from the Latin
alphabet suitable for English and most languages of western
Europe.</p></dd><dt>JavaBeans</dt><dd><p><a id="I_indexterm_id841528" class="indexterm"/>A component architecture for Java. It is a way to build
interoperable Java objects that can be manipulated easily in a visual
application builder environment.</p></dd><dt>Java beans</dt><dd><p><a id="I_indexterm_id841544" class="indexterm"/>Java classes that are built following the JavaBeans design patterns and
conventions.</p></dd><dt>JavaScript</dt><dd><p><a id="I_indexterm_id841566" class="indexterm"/>A language developed early in the history of the Web by
Netscape for creating dynamic web pages. From a programmer’s point of
view, it’s unrelated to Java, although some of its syntax is
similar.</p></dd><dt>JAXB (Java API for XML Binding)</dt><dd><p><a id="I_indexterm_id841581" class="indexterm"/>A Java API that allows for generation of Java classes from
XML DTD or Schema descriptions and the generation of XML from Java
classes.</p></dd><dt>JAXP (Java API for XML Parsers)</dt><dd><p><a id="I_indexterm_id841597" class="indexterm"/> <a id="I_indexterm_id841604" class="indexterm"/>The Java API that allows for pluggable implementations of
XML and XSL engines. This API provides an implementation- neutral way to
construct parsers and transforms.</p></dd><dt>JAX-RPC</dt><dd><p><a id="I_indexterm_id841623" class="indexterm"/>The Java API for XML Remote Procedure Calls, used by web
services.</p></dd><dt>JDBC (Java Database Connectivity)</dt><dd><p><a id="I_indexterm_id841636" class="indexterm"/> <a id="I_indexterm_id841642" class="indexterm"/>The standard Java API for talking to an SQL (Structured
Query Language) database.</p></dd><dt>JDOM</dt><dd><p><a id="I_indexterm_id841655" class="indexterm"/>A native Java XML DOM created by Jason Hunter and Brett
McLaughlin. JDOM is easier to use than the standard DOM API for Java. It
uses the Java collections API and standard Java conventions. Available
at <a class="ulink" href="http://www.jdom.org/">http://www.jdom.org/</a>.</p></dd><dt>JWSDP (Java Web Services Developer Pack)</dt><dd><p><a id="I_indexterm_id841679" class="indexterm"/> <a id="I_indexterm_id841685" class="indexterm"/>A bundle of standard extension APIs packaged as a group
with an installer from Sun. The JWSDP includes JAXB, JAX-RPC, and other
XML and web services-related packages.</p></dd><dt>Latin-1</dt><dd><p><a id="I_indexterm_id841704" class="indexterm"/>A nickname for ISO 8859-1.</p></dd><dt>layout manager</dt><dd><p><a id="I_indexterm_id841717" class="indexterm"/>An object that controls the arrangement of components
within the display area of a Swing or AWT container.</p></dd><dt>lightweight component</dt><dd><p><a id="I_indexterm_id841732" class="indexterm"/>A pure Java GUI component that has no native peer in the
AWT.</p></dd><dt>local variable</dt><dd><p><a id="I_indexterm_id841744" class="indexterm"/>A variable that is declared inside a method. A local
variable can be seen only by code within that method.</p></dd><dt>Logging API</dt><dd><p><a id="I_indexterm_id841757" class="indexterm"/>The Java API for structured logging and reporting of messages from within
application components. The Logging API supports logging levels
indicating the importance of messages, as well as filtering and output
capabilities.</p></dd><dt>long</dt><dd><p><a id="I_indexterm_id841778" class="indexterm"/>A primitive Java data type that’s a 64-bit
two’s-complement signed number.</p></dd><dt>message digest</dt><dd><p><a id="I_indexterm_id841793" class="indexterm"/>A cryptographically computed number based on the content
of a message, used to determine whether the message’s contents have been
changed in any way. A change to a message’s contents will change its
message digest. When implemented properly, it is almost impossible to
create two similar messages with the same digest.</p></dd><dt>method</dt><dd><p><a id="I_indexterm_id841811" class="indexterm"/>The object-oriented programming term for a function or
procedure.</p></dd><dt>method overloading</dt><dd><p><a id="I_indexterm_id841826" class="indexterm"/>Provides definitions of more than one method with the same
name but with different argument
lists. When an overloaded method is called, the compiler determines
which one is intended by examining the supplied argument types.</p></dd><dt>method overriding</dt><dd><p><a id="I_indexterm_id841847" class="indexterm"/>Defines a method that matches the name and argument types
of a method defined in a superclass. When an overridden method is
invoked, the interpreter uses <span class="emphasis"><em>dynamic method lookup</em></span>
to determine which method definition is applicable to the current
object. Beginning in Java 5.0, overridden methods can have different
return types, with restrictions.</p></dd><dt>Model-View-Controller (MVC) framework</dt><dd><p><a id="I_indexterm_id841875" class="indexterm"/>A user interface design that originated in Smalltalk. In
MVC, the data for a display item is called the
<span class="emphasis"><em>model</em></span>. A <span class="emphasis"><em>view</em></span> displays a
particular representation of the model, and a
<span class="emphasis"><em>controller</em></span> provides user interaction with both.
Java incorporates many MVC concepts.</p></dd><dt>modifier</dt><dd><p><a id="I_indexterm_id841904" class="indexterm"/>A keyword placed before a class, variable, or method that
alters the item’s accessibility, behavior, or semantics. See also
<span class="emphasis"><em><a class="xref" href="go01.html#gl_abstract" title="abstract">abstract</a></em></span>; <span class="emphasis"><em><a class="xref" href="go01.html#gl_final" title="final">final</a></em></span>; <span class="emphasis"><em><a class="xref" href="go01.html#gl_nativemethod" title="native method">native method</a></em></span>; <span class="emphasis"><em><a class="xref" href="go01.html#gl_private" title="private">private</a></em></span>; <span class="emphasis"><em><a class="xref" href="go01.html#gl_protected" title="protected">protected</a></em></span>; <span class="emphasis"><em><a class="xref" href="go01.html#gl_public" title="public">public</a></em></span>; <span class="emphasis"><em><a class="xref" href="go01.html#gl_static" title="static">static</a></em></span>; <span class="emphasis"><em><a class="xref" href="go01.html#gl_synchronized" title="synchronized">synchronized</a></em></span>.</p></dd><dt>NaN (not-a-number)</dt><dd><p><a id="I_indexterm_id841960" class="indexterm"/> <a id="I_indexterm_id841966" class="indexterm"/>This is a special value of the <code class="literal">double</code> and <code class="literal">float</code> data types that represents an undefined
result of a mathematical operation, such as zero divided by zero.</p></dd><dt><a id="gl_nativemethod"/>native method</dt><dd><p><a id="I_indexterm_id841992" class="indexterm"/>A method that is implemented in a native language on a
host platform, rather than being implemented in Java. Native methods
provide access to such resources as the network, the windowing system,
and the host filesystem.</p></dd><dt>new</dt><dd><p><a id="I_indexterm_id842006" class="indexterm"/>A unary operator that creates a new object or array (or
raises an <em class="filename">OutOfMemoryException</em> if
there is not enough memory available).</p></dd><dt>NIO</dt><dd><p><a id="I_indexterm_id842031" class="indexterm"/>The Java “new” I/O package. A core package introduced in
Java 1.4 to support asynchronous, interruptible, and scalable I/O
operations. The NIO API supports non-threadbound “select” style I/O
handling.</p></dd><dt>null</dt><dd><p><a id="I_indexterm_id842049" class="indexterm"/> <code class="literal">null</code> is a special
value that indicates that a reference-type variable doesn’t refer to any
object instance. Static and instance variables of classes default to the
value <code class="literal">null</code> if not otherwise
assigned.</p></dd><dt>object</dt><dd><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>The fundamental structural unit of an object-oriented
programming language, encapsulating a set of data and behavior that
operates on that data.<a id="I_indexterm_id842085" class="indexterm"/></p></li><li class="listitem"><p>An instance of a class, having the structure of the class but
its own copy of data elements. See also <span class="emphasis"><em><a class="xref" href="go01.html#gl_instance" title="instance">instance</a></em></span>.</p></li></ol></div></dd><dt><object> tag</dt><dd><p><a id="I_indexterm_id842108" class="indexterm"/>An HTML tag used to embed media objects and applications
into web browsers like the <code class="literal"><applet></code> tag.</p></dd><dt>package</dt><dd><p><a id="I_indexterm_id842128" class="indexterm"/>The <code class="literal">package</code> statement
specifies the Java package for a Java class. Java code that is part of a
particular package has access to all classes (<code class="literal">public</code> and non-<code class="literal">public</code>) in the package, and all non-<code class="literal">private</code> methods and fields in all those
classes. When Java code is part of a named package, the compiled class
file must be placed at the appropriate position in the <code class="literal">CLASSPATH</code> directory hierarchy before it can be
accessed by the Java interpreter or other utilities. If the <em class="filename">package</em> statement is omitted from a file, the
code in that file is part of an unnamed default package. This is
convenient for small test programs run from the command line, or during
development because it means that the code can be interpreted from the
current directory.</p></dd><dt><param> tag</dt><dd><p><a id="I_indexterm_id842185" class="indexterm"/>An HTML tag used within <code class="literal"><applet> ... </applet></code> to specify
a named parameter and string value to an applet within a web
page.</p></dd><dt>parameterized type</dt><dd><p><a id="I_indexterm_id842206" class="indexterm"/>A class, using Java generics syntax, that is dependent on
one or more types to be specified by the user. The user-supplied
parameter types fill in type values in the class and adapt it for use
with the specified types.</p></dd><dt>plug-in</dt><dd><p><a id="I_indexterm_id842223" class="indexterm"/>A modular application component for a web browser designed
to extend the browser’s capabilities to handle a specific type of data
(MIME type). The Java Plug-in supports Java applets in browsers that do
not have up-to-date Java runtime support.</p></dd><dt>polymorphism</dt><dd><p><a id="I_indexterm_id842239" class="indexterm"/>One of the fundamental principles of an object-oriented
language. Polymorphism states that a type that extends another type is a
“kind of” the parent type and can be used interchangeably with the
original type by augmenting or refining its capabilities.</p></dd><dt>Preferences API</dt><dd><p><a id="I_indexterm_id842255" class="indexterm"/>The Java API for storing small amounts of information on a
per-user or systemwide basis across executions of the Java VM. The
Preferences API is analogous to a small database or the Windows
registry.</p></dd><dt><a id="gl_primitivetype"/>primitive type</dt><dd><p><a id="I_indexterm_id842273" class="indexterm"/>One of the Java data types: <code class="literal">boolean</code>, <code class="literal">char</code>, <code class="literal">byte</code>,
<code class="literal">short</code>, <code class="literal">int</code>, <code class="literal">long</code>,
<code class="literal">float</code>, <code class="literal">double</code>. Primitive types are manipulated,
assigned, and passed to methods “by value” (i.e., the actual bytes of
the data are copied). See also <span class="emphasis"><em><a class="xref" href="go01.html#gl_referencetype" title="reference type">reference type</a></em></span>.</p></dd><dt>printf</dt><dd><p><a id="I_indexterm_id842337" class="indexterm"/>A style of text formatting originating in the C language,
relying on an embedded identifier syntax and variable-length argument
lists to supply parameters.</p></dd><dt><a id="gl_private"/>private</dt><dd><p><a id="I_indexterm_id842352" class="indexterm"/>The <code class="literal">private</code> keyword is
a visibility modifier that can be applied to method and field variables
of classes. A private method or field is not visible outside its class
definition and cannot be accessed by subclasses.</p></dd><dt><a id="gl_protected"/>protected</dt><dd><p><a id="I_indexterm_id842375" class="indexterm"/>A keyword that is a visibility modifier; it can be applied
to method and field variables of classes. A <code class="literal">protected</code> field is visible only within its
class, within subclasses, and within the package of which its class is a
part. Note that subclasses in different packages can access only
<code class="literal">protected</code> fields within themselves or
within other objects that are subclasses; they cannot access protected
fields within instances of the superclass.</p></dd><dt>protocol handler</dt><dd><p><a id="I_indexterm_id842404" class="indexterm"/>A URL component that implements the network connection
required to access a resource for a type of URL scheme (such as HTTP or
FTP). A Java protocol handler consists of two classes: a <code class="literal">StreamHandler</code> and a <code class="literal">URLConnection</code>.</p></dd><dt><a id="gl_public"/>public</dt><dd><p><a id="I_indexterm_id842430" class="indexterm"/>A keyword that is a visibility modifier; it can be applied
to classes and interfaces and to the method and field variables of
classes and interfaces. A <code class="literal">public</code>
class or interface is visible everywhere. A non-<code class="literal">public</code> class or interface is visible only
within its package. A <code class="literal">public</code> method
or variable is visible everywhere its class is visible. When none of the
<code class="literal">private</code>, <code class="literal">protected</code>, or <code class="literal">public</code> modifiers are specified, a field is
visible only within the package of which its class is a part.</p></dd><dt>public-key cryptography</dt><dd><p><a id="I_indexterm_id842480" class="indexterm"/>A cryptographic system that requires public and private
keys. The private key can decrypt
messages encrypted with the corresponding public key, and vice versa.
The public key can be made available to the public without compromising
security and used to verify that messages sent by the holder of the
private key must be genuine.</p></dd><dt>queue</dt><dd><p><a id="I_indexterm_id842500" class="indexterm"/>A list-like data structure normally used in a first in,
first out fashion to buffer work items.</p></dd><dt>raw type</dt><dd><p><a id="I_indexterm_id842512" class="indexterm"/>In Java generics, the plain Java type of a class without
any generic type parameter information. This is the true type of all
Java classes after they are compiled. See also <span class="emphasis"><em><a class="xref" href="go01.html#gl_erasure" title="erasure">erasure</a></em></span>.</p></dd><dt><a id="gl_referencetype"/>reference type</dt><dd><p><a id="I_indexterm_id842538" class="indexterm"/>Any object or array. Reference types are manipulated,
assigned, and passed to methods “by reference.” In other words, the
underlying value is not copied;
only a reference to it is. See also <span class="emphasis"><em><a class="xref" href="go01.html#gl_primitivetype" title="primitive type">primitive type</a></em></span>.</p></dd><dt>reflection</dt><dd><p><a id="I_indexterm_id842564" class="indexterm"/>The ability of a programming language to interact with
structures of the language itself at runtime. Reflection in Java allows
a Java program to examine class files at runtime to find out about their
methods and variables, and to invoke methods or modify variables
dynamically.</p></dd><dt>regular expression</dt><dd><p><a id="I_indexterm_id842580" class="indexterm"/>A compact yet powerful syntax for describing a pattern in
text. Regular expressions can be used to recognize and parse most kinds
of textual constructs, allowing for wide variation in their form.</p></dd><dt>Regular Expression API</dt><dd><p>The core <code class="literal">java.util.regex</code>
package for using regular expressions. The regex package can be used to
search and replace text based on sophisticated patterns.</p></dd><dt>Remote Method Invocation (RMI)</dt><dd><p><a id="I_indexterm_id842610" class="indexterm"/>RMI is a native Java distributed object system. With RMI,
you can pass references to objects on remote hosts and invoke methods in
them as if they were local objects.</p></dd><dt>SAX (Simple API for XML)</dt><dd><p><a id="I_indexterm_id842624" class="indexterm"/>SAX is an event-driven API for parsing XML documents in
which the client receives events in response to activities such as the
opening of tags, character data, and the closing of tags.</p></dd><dt>Schema</dt><dd><p><a id="I_indexterm_id842640" class="indexterm"/>XML Schemas are a replacement for DTDs. Introduced by the
W3C, XML Schema is an XML-based language for expressing constraints on
the structure of XML tags and tag attributes, as well as the structure
and type of the data content. Other types of XML schema languages have
different syntaxes.</p></dd><dt>SDK (Software Development Kit)</dt><dd><p><a id="I_indexterm_id842660" class="indexterm"/>A package of software distributed by Sun Microsystems for
Java developers. It includes the Java interpreter, Java classes, and
Java development tools: compiler, debugger, disassembler, applet viewer,
stub file generator, and documentation generator. Also called the
JDK.</p></dd><dt>SecurityManager</dt><dd><p><a id="I_indexterm_id842676" class="indexterm"/>The Java class that defines the methods the system calls
to check whether a certain operation is permitted in the current environment.</p></dd><dt>serialize</dt><dd><p><a id="I_indexterm_id842695" class="indexterm"/>To serialize means to put in order or make sequential. A
serialized object is an object that has been packaged so that it can be
stored or transmitted over the network. Serialized methods are methods
that have been synchronized with respect to threads so that only one may
be executing at a given time.</p></dd><dt><a id="gl_server"/>server</dt><dd><p><a id="I_indexterm_id842711" class="indexterm"/>The party that provides a resource or accepts a request
for a conversation in the case of a networked client/server application.
See also <span class="emphasis"><em><a class="xref" href="go01.html#gl_client" title="client">client</a></em></span>.</p></dd><dt>servlet</dt><dd><p><a id="I_indexterm_id842729" c