Appendix C
Glossary


abstract class
A class that is not instantiated directly. Abstract classes exist so that subclasses can inherit variables and methods from them.

access control
A way to restrict access to a class's variables and methods. The modifiers public, private, protected, and private protected, placed before a variable name or function declaration, specify the kind of access granted.

action
An applet method that can be defined to identify the kind of event that has occurred and act on that event.

Alignment
Identifies how a particular object will line up relative to other objects in a container.

API
Application Programming Interface. The Java API contains classes a developer can use to build applications and applets. Currently, the Java API provides classes to support the language itself, I/O capability, network capability, user interfaces, applets, image management, interaction with a platform-specific toolkit, and general utilities.
applet
A Java program that runs in the context of a Java-capable browser or the AppletViewer. Java applets extend the content of Web pages beyond just graphics and text.
AppletViewer
A tool created by SUN to run applets without a browser.
array
An indexed set of data where each data item is of the same type. An element of an array is referenced by its index.
attribute
A specifier for an HTML tag (for example, code is an attribute of the <APPLET> tag).
attributes
An object's variables, or state information.
AWT
The Abstract Windowing Toolkit, or group of classes for writing programs with graphical user interfaces. The AWT contains classes for Components (for example: Button, TextField, Canvas, Choice, List, TextArea, Checkbox, List, MenuItem, Scrollbar, and Label), classes for Containers (for example: Window, Frame, Panel, Dialog, and FileDialog), and classes to help with layout, graphics, and images.
behavior
Describes the way a class reacts to events in the environment, messages, and changes to variables. Behavior depends on the state of an object. A class maintains state information in its variables and reacts to its environment through its methods.
browser
A program used for reading, displaying, and interacting with objects on the World Wide Web.
bytecode
The machine-independent output of the Java compiler and input to the Java interpreter.
cast
To coerce an object of one data type to another type.
class
A collection of variables and methods that an object can have, or a template for building objects.
.class file
A file containing machine-independent Java bytecodes. The Java compiler generates .class files for the Java interpreter to read.
CLASSPATH
An environment variable used to define all the directories where .class files can be found.
class variable
A variable allocated once per class. Class variables have global class scope and belong to the entire class instead of an instance.
code
An attribute of the HTML <APPLET> tag that specifies the class to load. The term "code" also refers to source code, which is the syntactical representation of a program.
codebase
An attribute of the HTML <APPLET> tag that specifies the location of the classes to load.
Common Object Request Broker Architecture
A standard for distributed objects being developed by the Object Management Group.
compiler
A language translator. A program that transforms source code into another format without executing the program.
conditionals
Programming constructs that support branching or execution of different statements when different conditions are true. Java conditionals are case statements, if statements, and the ? (conditional) operator.
constructor
A method that is used to create an instantiation of a class.
Container
An object which holds several objects. Usually used with java.awt.container, which contains several java.awt objects. The most common container object is java.awt.panel.
content handler
A Java routine used to process a particular MIME type (for example, text/html).
CORBA
See Common Object Request Broker Architecture.
deprecated
A comment code that was added to Java to allow programmers to see quickly and unambiguously that a particular portion of the API is no longer utilized and has been superseded by some other mechanism.
destroy()
An applet method used to do final cleanup before an applet unloads. Applets override this method when resources need to be released that are not released by the stop() method.
double buffering
A technique used to reduce flicker in animations. The image or drawing is painted into a temporary space. Then the finished object is drawn to the screen all at once.
DTD
Abbreviation for Document Type Definition. A DTD file formally describes a particular markup language, such as HTML.
encapsulation
A way to contain data and methods in a class so that its methods and variables may be added, changed, or deleted without requiring the code that uses the class to change. This object-oriented programming technique makes a class look like a black box to the outside world.
event handling
Identifying events (for example, mouse clicks and button presses) and reacting to them. Events can be handled with the action method, a method corresponding to the event (for example, MouseDown), or the handleEvent method.
exception
A signal that something has happened to stop normal execution of a program, usually an error.
exception handler
Code that responds to and attempts to recover from an exception.
expression
Mathematical, comparative, and other kinds of operations that can be evaluated to a single value. For example, 1+3+9*7+Math.pow(45,3.3) is an expression.
extends
A keyword used to make one class a subclass of another; for example, class subclass extends superclass.
final
A modifier that prevents subclass definition, makes variables constant, and prevents a subclass from overriding a method.
finalize
A method that is called when there are no further references to an object and it is no longer needed. This method releases resources and does any other necessary cleanup that Java does not handle during garbage collection.
Gamelan
A registration site on the Web for Java applets and applications. Items registered here often contain the Java source.
garbage collection thread
A Java thread that automatically frees memory no longer needed by objects.
GUI
Graphical User Interface. A graphical user interface provides a friendly way for a person to interact with a program. The user interacts with pictures and drawings rather than just text. In Java, the AWT provides classes to support user interface construction.
Hashcode
a number that can be used to uniquely identify an object. Usually used with a hashtable.
HotJava
A Java-capable browser from Javasoft.
hspace
An attribute of the HTML <APPLET> tag that specifies the amount of horizontal space (to the left and right) between the applet and the text on the page.
HTML
Hypertext Markup Language, the language used to create Web pages.
inheritance
A property of object-oriented languages where a class assumes the methods and variables of more general classes. A subclass automatically contains all of the methods and variables that its superclasses contain. Note that access modifiers, such as private, can place restrictions on the use of inherited items in Java.
init()
An applet method used to do one-time initialization before an applet begins executing.
Inner classes
Classes which are defined within the body of other classes, methods, or blocks. The scope of these classes is limited to the body they are contained within.
instance
A concrete representation of a class or object. A class can have many instances.
instance variable
A variable allocated once per instance of a class.
instantiate
To create a concrete object from a class "template." New objects are instantiated with new.
interface
A collection of methods and variables that other classes may implement. A class that implements an interface provides implementations for all of the methods in the interface.
Internationalization
The ability to utilize international codes, times, and other geographic data within Java.
interpreter
A program that performs both language translation and program execution. java is the Java interpreter.
JAR
See Java Archive Resource.
java
The program used to invoke the Java interpreter, which executes Java programs.
Java
An object-oriented language that can be used to create machine-independent applications and applets.
.java file
A file containing Java source code.
java.applet
Java package that supports applet development. This package provides the ability for an applet to get information about its context, communicate with other applets, load images, and play sounds.
java.awt
Java package that supports the development of user interfaces.
java.awt.image
Java package that supports image processing.
java.awt.peer
Java package that links Java user interface code with a platform-dependent toolkit like Motif or Windows.
java.io
Java package that supports reading and writing of files, strings, sockets, and so on.
java.lang
Java package that supports the basic features of the language. This class does not have to be explicitly imported into Java programs; it is imported automatically.
java.net
Java package that supports network connections.
java.util
Java package that provides useful utility classes like random number generation and growable arrays.
Java Archive Resource
A method to package up class and data files into a single resource file. Can greatly improve download time of applications and applets. Usually written as JAR.
Java beans
A specification which extends Java's "write once--run everywhere" capability to reusable component development. Similar in nature to CORBA.
Java Database Connectivity
A database access API from JavaSoft that allows developers to access databases with Java programs.
javac
A command for running the Java compiler.
javac_g
A command for running a non-optimized version of the Java compiler. The javac_g command can be used with debuggers, such as jdb.
Java-capable browser
A Web browser that can run Java applets. Also called a Java-enabled or Java-enhanced browser.
javadoc
A command that is used to generate API-style HTML documentation automatically.
javah
A command that can create C include files and stubs from a Java .class file. The resulting C files allow C code to access parameters passed from Java, return values to Java, and access Java class variables.
javah_g
A command that can create C include files and stubs with debug information from a Java .class file.
Javakey
A tool included with the JDK that manages objects, including their keys, certificates, and the trust associated with them.
javap
A command that disassembles Java .class files.
JavaScript
A Java-based scripting language.
Java-SIG
The Sun User Group's Special Interest Group for Java.
jdb
The Java debugger.
JDBC
See Java Database Connectivity.
JDK
The Java Developers Kit.
literals
umbers or character values. `x', `2', and `1.22' are all literals.
loops
Programming constructs that support repetitive execution of one or more statements. Java has while, do-while, and for loops.
main()
The entry point into a Java application.
method
A routine that belongs to a class.
method prototype
The format of a method that specifies the name of the method, the return type, and the parameter list. A method prototype is also called a signature.
MIME
Abbreviation for Multipurpose Internet Mail Extensions. The MIME specification supports electronic mailing of many kinds of messages (for example, audio files, images, and HTML).
modifier
A Java keyword that is applied to a method or variable declaration to control access, control execution, or provide additional information. The keywords private, public, protected, final, native, synchronized, and volatile are Java modifiers.
multiple inheritance
The ability for a class to inherit from multiple classes. Java does not support multiple inheritance.
multithreaded
Having multiple threads of execution so that parts of a program can execute concurrently.
native methods
Methods that are declared in Java with the keyword native but are implemented in another language. Usually, native methods are written to do something that the Java API does not already do, to interact with a particular computer's hardware or operating system or to improve performance. Since native methods are not portable across platforms, applets cannot contain native methods.
new
The Java operator that is used to create a new instance of a class; for example, MyClass c = new MyClass().
object
An instantiation of a class.
object serialization
A method of packaging the entire contents of an object in byte format. Can be used to pass an object down any stream.
OOP
Object-Oriented Programming is the ultimate extension of the concept of modular programming.
override
To replace a method inherited from a superclass. For example, applets frequently override the init(), start(), stop(), destroy(), and paint() methods inherited from the applet class.
package
A Java keyword used to assign the contents of a file to a package. Packages are Java's mechanism for grouping classes. Packages simplify reuse, and they are very useful for large projects.
pointers
Variables that contain machine addresses of data instead of the data itself. The Java language does not support pointers.
private
An access control modifier that limits access to within the class itself.
private protected
An access control modifier that limits access to a class and its superclasses.
protected
An access control modifier that limits access to a class, the package, and its subclasses. A subclass, however, cannot access a superclass's protected variables.
protocol handler
A Java routine that interprets a protocol, generally for a browser.
public
An access control modifier that allows access to a variable or method from anywhere.
Reflection
A new feature with Java 1.1 that allows objects to be inspected to reveal their methods, constructors, variables, and other information.
Remote Method Invocation
A system which allows object instances to reside and process on multiple machines transparent to the code.
RMI
See Remote Method Invocation.
RMI Registry
A tool included with the JDK--the Remote Object Registry. Creates and starts a remote object registry on the specified port of the current host. Required before a remote object can be started on a server.
RMIC
A tool included with the JDK--the Java RMI Stub Converter. Generates objects from the names of compiled Java classes that contain remote object implementations.
Runnable interface
An interface that allows a class the ability to run in a distinct thread without being a subclass of Thread.
scope
Defines where a method or variable is visible. A variable defined in a method is visible only within the method; it has local scope. A variable or method defined within a class is visible inside the class; it has class scope.
ServerSocket
A Java class that supports network connections for server objects.
SGML
Standard Generalized Markup Language, the grandfather of HTML.
signature
The format of a method. A signature specifies the name of the method, the return type, and the parameter list. Also called a method prototype.
Signed applet
An applet that has been digitally signed to prevent tampering. See Javakey.
Socket
A Java class that supports the creation of network connections.
start()
An applet method used to begin execution and resume execution after an applet has been temporarily stopped. Applets override this method, when they need to do processing after a one-time initialization, and anticipate stopping temporarily (for example, when the user leaves the applet's page) and restarting.
statement
A Java construct that controls program flow, controls execution of critical sections of code, makes an assignment, imports a package, or declares membership in a package.
static
A Java keyword used to indicate that a variable is a class variable, allocated once per class (for example, static int myinteger). When class variables change, they change for every instance of a class.
stop()
An applet method that is overridden to stop execution (for example, stop sounds when the user leaves the applet's page). Usually, stop() and start() are implemented together, so stop() should be implemented in a way that permits the start() method to resume execution.
streams
Controlled flows of data from one source to another. Java supplies several classes to create and manage streams. Classes that handle input data are derived from class InputStream, and classes that handle output data are derived from class OutputStream.
string
A sequence of characters enclosed in double quotes in the generic sense. In Java, strings are instances of the String class. Even the statement String mystring = "This is my string."creates a String object.
stub
Part of the interface between Java code and a native method. A stub allows a native method to access Java parameters, access Java class variables, and return data to Java.
subclass
A class that inherits methods and variables from another class. The statement class SubClass extends SuperClass means that SubClass is a subclass of SuperClass.
super
A reserved word that refers to a class's immediate superclass.
super()
Shorthand for the superclass's constructor method.
superclass
A generalization of another class. X is a superclass of Y if Y inherits variables and methods from X.
synchronized
A Java keyword that prevents more than one thread from executing inside a method at once.
this
A reserved word that refers to the current class.
token
The smallest unit in a language that a compiler can recognize.
type
A specific kind of data in a program or programming language. In the Java statement int my_integer = 1;, the int keyword indicates that my_integer is an integer instead of some other data type.
virtual machine
An abstract, logical model of a computer used to execute Java bytecodes. A Java virtual machine has an instruction set, registers, a stack, a heap, and a method area.
VRML
Virtual Reality Modeling Language.
vspace
An attribute of the HTML <APPLET> tag that specifies the amount of vertical space above and below the applet and the text on the page.