You are on page 1of 23

Glossary

abstract class:
A class that is uninstantiable. That is, you cannot instantiate/generate any objects
from this class. Abstract classes may have both concrete and abstract methods, the
latter methods declared only with their signature without any code/implementation.
The intention is for all derived (inherited) classes to provide a definition, making
the method polymorphic.

abstraction:
A term applied to the process of hiding unimportant details in favor of those that
matter. Function and data abstraction are tools employed in software engineering to
handle complexity.

activity diagram:
UML notation is used for showing the objects' connection with workflow and
describing the operations in parallel processing. There is one activity diagram for
each use case.

actor:
In UML, a role that a user plays when interfacing with the application. The actor
does not have to be a user, it can be another system that interfaces with the
application. A single actor can perform many use cases.

aggregation:
The combining of data and behavior within an object.

anchor:
A part of a hypertext document that is either the source or destination of a hypertext
link. A link might extend from an anchor to another document, or from another
document to an anchor. When anchors are the starting points of these links, they are
typically highlighted or otherwise identified in the hypertext browser as hotspots.

applet:
A Java(TM) application program that can be included in a Hypertext Markup
Language page via the <APPLET> element (or tag) and can be observed in a Java
technology-enabled browser or applet viewer.

applet parameter:
Arguments passed to Java(TM) technology applets. Parameters are defined within
the Hypertext Markup Language (HTML) element (or tag) and denoted by the word
PARAM.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


applet viewer:
Any program capable of executing Java(TM) technology applets; for example,
Netscape Navigator(TM) 2.0 or higher and the HotJava(TM) browser.

appletviewer:
The appletviewer command allows you to run applets outside the context of a
World Wide Web browser. The command reads in a Hypertext Markup Language
(HTML) document and displays each applet referenced in its own window.

application:
An application is a term that generically refers to any program executable by a
computer.

argument:
An argument is a value or data passed from one program (or part of) to another. In
the Java programming language, arguments are typically used with methods.

ASCII:
The American Standard Code for Information Interchange (ASCII) character set is
the predominant character set encoding of present-day computers. The modern
version uses 7 bits for each character, whereas most earlier codes (including an
early version of ASCII) used fewer. This change allowed the inclusion of lowercase
letters, but it did not provide for accented letters or any other letterforms not used in
English (such as the German sharp-S or the ae-ligature that is a letter in, for
example, Norwegian).

association:
A term that describes an object that is associated with another when it "uses" the
other for some purpose. This is a flexible object relationship, in which the
association can be made and broken at any time. A Person object may be associated
with a Book object, then another Book object. The lifetimes of the objects need only
intersect.

attribute:
A property of an Hypertext Markup Language (HTML) element, specified in the
start tag of the element. The attribute list of the element is used to pass values to the
Java (TM)technology program defining the applet.

attribute (HTML):
A property of an Hypertext Markup Language (HTML) element. For example, the
APPLET tag uses the tag to pass attributes to the Java(TM) technology program
defining the applet.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


attribute (object):
The data or state of objects. Two objects of the same class can differ by the values
their attributes hold, but the types of the attributes remain the same, as defined in
the class.

automatic variable:
An automatic variable is created when execution enters a method and is destroyed at
exit from the method. This is why automatic variables are sometimes referred to as
"temporary" or "stack" variables.

behavior:
Behavior is the way that an object acts or reacts by changing its data or by
interacting with other objects.

binary semaphore:
A semaphore is a flag (in this case an integer variable) which is used to control
access to a piece of data. Before using it, a process must check the value. If it is
greater than 0, the process decrements the counter, uses the data, then increments
the counter. A binary is either available or not; its value can either be 0 or 1.

boolean:
A boolean is a primitive data type represented by a value of either true or false.

browser:
A browser is a software program for observing a synonym for a Web client.

Byte:
An 8-bit primitive integral type used to store whole numbers in the range -2^7 to
2^7 -1. See also integral types.

bytecode:
Any Java virtual machine compliant code that is created as the result of compiling a
Java programming language source code file is called a bytecode. Bytecodes are
architecture neutral and easily distributed across networks. A browser or other
application that implements a Java virtual machine can interpret bytecode.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


C++:
C++ is one of the most widely used object-oriented languages, a superset of C
developed primarily by Bjarne Stroustrup <bs@alice.att.com> at AT&T Bell
Laboratories in 1986.In C++, a class is a user-defined type, syntactically a structure
with member functions. Constructors and destructors are member functions called
to create or destroy instances. A friend is a nonmember function that is allowed to
access the private portion of a class. C++ allows implicit type conversion, function
inlining, overloading of operators and function names, and default function
arguments. It has streams for I/O and references.C++ 2.0 (May 1989) introduced
multiple inheritance, type-safe linkage, pointers to members, and abstract classes.

casting:
As used in programming, casting changes an expression or an object from one data
type to another.

CERN:
Centre European pour la Recherche Nucleaire (CERN) is the European laboratory
for particle physics where the World Wide Web originated in 1989.

CGI:
The common gateway interface (CGI) is a standard for programs to interface with
Web servers.

char:
A primitive textual type used for storing a single character.

child class:
A child class is a subclass of class (its parent class. It inherits public (and protected)
data and methods from the parent class.

class:
The term class defines the classification of a group of related objects. A class
provides a blueprint, defines behavior
and (data) data for all instantiated objects. For example, a class Person defines the
common behavior and attribute
that objects (instances) instance of the Person class will possess.

class diagram:
Describes the objects in an application and the relationships between those objects.
It also shows the attributes (object)operations of the classes.

client:
The work client refers to a software application that receives information or services
from a server.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


Collection:
Used to contain collections of other objects. The behavior of the collection reflects
the organizational structure required when grouping the objects. For example, a list
collection class organizes objects into a list, a tree collection class organizes objects
into a tree.

compiler:
A compiler is a software program that translates human-readable source code into
machine-executable code.

composition:
The term composition defines the object relationship of "has a" or "aggregation". It
is useful when one object contains another for the duration of its life and its
component's life. For example, a Person object contains a Heart object; both are
created together and destroyed together. Composition is less flexible than
association, but it removes the need to manage explicitly the creation and
destruction of the components.

constant:
A constant is a data item whose value does not change.

constant_association:
This term describes an association that lasts for the lifetime of the associate. For
example, a lens may be constantly associated with a frame to produce a spectacle
object. Only when the lifetime of the lens ends (because it breaks or is no longer
correct) does the association end. At this time, another lens may be constantly
associated with the frame. The relationship models the fact that the lens would
never be used in another frame.

constructor:
A constructor is a special method-like member of a class. A constructor is invoked
when an object of that class is
instantiated, and is used to initialize the object.

content handler:
A program loaded into the user's browser that interprets files of a type defined by
the Java(TM) technology programmer. The Java(TM) technology programmer
provides the necessary code for the user's browser to display and interpret this
special format.

CORBA:
Common Object Request Broker Architecture (CORBA) is a specification put forth
by Object Management Group (OMG) for creating, distributing, and managing
distributed objects in a network.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


custody:
Relates to object ownership, and concerns the right to destroy the object. An object
with custody of another is responsible for destroying the other. For example, while
Book objects are associated with a Library object, the Library may hold custody. If
the Library burns down, the Books are destroyed; however, Books on loan are
preserved because they are in the custody of Person objects. Determining where
custody lies is an important part of object modeling.

data:
The information contained in, or the current state of, an object.

delegation:
Delegation is a object-oriented behavior that allows one object to pass a message (or
"delegate the message") to an object embedded within the former object. For
example, a Window object can be designed to contain a Rectangle object; a
message to get the window's area would be delegated to the method that implements
the area calculation for the rectangle contained in that window.

deployment descriptor:
The deployment descriptor contains the instructions provided by a developer to the
Enterprise JavaBeans (EJB) server for managing the EJB components. It can specify
aspects, such as the transactionl behavior, security, and life cycle of the
components. At runtime, the container refers to the values specified in the
deployment descriptor file, initializes and performs the required operations.

document type definition:


A specification for a markup language such as Hypertext Markup Language
(HTML) or Standard Generalized Markup Language (SGML).

domain name:
The name assigned to a group of systems on a local network that share
administrative files is a domain name. The domain name is required for the network
information service database to work properly.

double:
A 64-bit Java programming language,primitive type is used to store numbers with
values to the right of the decimal point. See also floating point types.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


dynamic binding:
With dynamic binding, a reference is not associated with a particular class until
runtime - when the application is actually executed. In the Java programming
language, this means that a reference variable can actually point to an object from a
different class than it was originally declared as, instead of being bound to the
declared class at compile time.

element:
An element is a unit of structure in an Hypertext Markup Language (HTML)
document. Many elements have start and stop tags. Some have a single tag. Some
elements can contain other elements.

encapsulation:
Encapsulation refers to controlling access to data and operations for callers outside
the class.

exception:
An exception in the Java programming language is an object which is instantiated
when an unusual flow occurs in code.
Exception objects are generally derived from the Exception class, which provides a
string field to describe the error. The concept of exceptions in the Java
programming language is the try-catch-finally sequence. Java executes a protected
code block that might throw one or more exceptions, it can catch the exception; and
finally clean up from either the normal code path or the exception code path,
whichever actually happened.

float:
A 32-bit Java programming languate primitive type used to store numbers with
values to the right of the decimal point. See also floating point types.

floating point types:


Java programming language primitive types, float and double(64-bit), used to store
numbers with values to the right of the decimal point. It is not possible to state the
largest or smallest value that each of these can hold because they allow variable
accuracy depending on the magnitude of the number.

FTP:
File Transfer Protocol (FTP) is a means to exchange files across a network.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


garbage collector:
The process by which memory allocated for objects in a program is reclaimed.. The
Java programming language automatically performs this process.

generalization:
The idea of using parent classes to define the common data and behavior for any
subclasses is called generalization.See inheritance for more information.

gopher:
A protocol for disseminating information on the Internet by using a system of
menus.

heap:
A heap is an area of memory used for dynamic memory allocation where blocks of
memory are allocated and freed in an arbitrary order, and the pattern of allocation
and size of blocks is not known until runtime. Typically, a program has one heap
that it may use for several different purposes. A heap is required by languages in
which functions can return arbitrary data structures or functions with free variables.

home page:
The initial or introductory page of a World Wide Web site.

hot spot:
An area on a hypertext document that a user can click on to retrieve another
resource or document.

HotJava:
A (World Wide Web) browser, developed by Sun, that uses the programming
language. The HotJava browser provides the ability to import code fragments,
called applets, across the Internet and execute them.

HTML:
Hypertext Markup Language (HTML) is the mechanism used to create Web pages.
A Web browser displays these pages according to a browser-defined rendering
scheme.

HTML tag:
The format codes used to mark specific elements in an HTML file. For example, the
TITLE element has a start tag, <TITLE> and an end tag, </TITLE>.

HTTP:
Hypertext Transfer Protocol (HTTP) is the native protocol of the Web, which is
used to transfer hypertext documents.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


hypermedia:
Hypertext that includes multimedia - text, graphics, images, sound, and video.

hypertext:
A collection of documents that contain cross-references (links) from one section of
a document to any other section in the same or another document. These links allow
for non-linear navigation. Web-based hypertext documents are not constrained to a
single server.

IDL:
Interface Definition Language (IDL) lets a program written in one language
communicate with another program written in a different language.

IIOP:
Internet Inter-ORB Protocol (IIOP) is a standard network protocol that allows
interoperability among different products from different vendors.

image map:
A graphic in-line image on an Hypertext Markup Language (HTML) page that
potentially connects each pixel or region of an image to a Web resource. When the
mouse cursor is on certain regions of the image, clicking the mouse retrieves the
resources.

information hiding:
When implementing encapsulation programmers can define some parts of the
program as visible (public)
and other parts hidden (private).

inheritance:
The process by which a new class (the child or subclass) is derived from an existing
class (the base, parent, or superclass). It is a central concept in object-oriented
systems and enables the reuse of the base class members. During class inheritance,
the derived class may extend or override members inherited from the base class.

instance:
An object.

instruction set:
An instruction set is the "programmer-visible" portions of a processor's architecture,
such as the machine language instructions and registers. Parts of the architecture
that are left to the implementation, such as number of superscalar functional units,
cache size, and cycle speed, are not part of the instruction set architecture (ISA).

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


int:
A 32-bit primitive integral type used to store whole numbers in the range -2^31 to
2^31 -1. See also integral types.

integral types.:
A category of primitive types in the Java programming language used to store
positive or negative whole numbers. The four integral types are:
byte
short
int, and
long

interface:
The set of public functions that an object makes available to the system. In Java, an
interface defines a set of public methods that all implementing classes sign a
contract to implement. Interfaces should be designed to be as small as possible
(minimizing coupling) and should capture the essence and behavior of what is being
modeled.

Internet:
The Internet is the largest network in the world. It consists of a large national
backbone network that contains the Military Network (MILNET), the National
Science Foundation Network (NSFNET), and the European Laboratory for Particle
Physics (CERN), and a myriad of regional and local campus networks all over the
world. The Internet uses the Transmission Control Protocol/Internet Protocol
(TCP/IP) suite. To be able to log on to the Internet the user must have Internet
Protocol (IP) connectivity; that is, be able to communicate with other systems by
using <tt>telnet</tt> or <tt>ping</tt>. Networks with only email connectivity are
not classified as being on the Internet.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


interpreter:
An interpreter is a program that executes other programs. This is in contrast to a
compiler that does not execute its input program (the source code) but translates it
into executable machine code (also called object code) that is output to a file for
later execution. It might be possible to execute the same source code either directly
by an interpreter or by compiling it and then executing the machine code produced.
It takes longer to run a program under an interpreter than to run the compiled code
but it can take less time to interpret it than the total time required to compile and run
it. This is especially important when prototyping and testing code where an edit-
interpret-debug cycle can often be much shorter than an
edit-compile-run-debug cycle. Interpreting code is slower than running the compiled
code because the interpreter must analyze each statement in the program each time
it is executed and then perform the desired action, whereas the compiled code just
performs the action. This run time analysis is known as <i>interpretive
overhead</i>. Access to variables is also slower in an interpreter because the
mapping of identifiers to storage locations must be done repeatedly at runtime rather
than at compile time.

J2EE:
Java 2 Enterprise Edition (J2EE) is a specification that consists of a comprehensive
set of technologies to facilitate the building of distributed component-based
business applications.

Java Beans:
A JavaBeans component is a reusable software component that works with Java
(TM) technology. More specifically, a JavaBeans component is a reusable software
component that can be visually manipulated in builder tools. The primary purpose
of JavaBeans components is to enable the visual construction of applications.

Java programming language:


Created by Sun, the Java programming language is an object-oriented programming
language for creating distributed, executable applications for a variety of computer
platforms.

Java technology application:


A Java(TM) technology program that does not require an applet viewer to execute.

Java technology block:


The code between matching curly braces { and }.

Java technology package:


A set of classes with a common high-level function declared with the package
keyword.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


Java technology transaction API:
Java(TM) technology transaction API (JTA) provides a programming interface to
start transactions, join existing transactions, commit transactions, and roll back
transactions.

Java technology-enabled browser:


A World Wide Web browser that can display Java applets.

Java transaction technology service:


Java transaction service (JTS) is the Java(TM) technology binding of Common
Object Request Broker Architecture (CORBA) Object Transaction Service (OTS).

Java Virtual Machine(JVM):


Java Virtual Machine (JVM) is a specification that defines an abstract machine that
acts as an interface between the compiled Java code and the hardware platform.
After a JVM has been provided for a platform, any compiled Java(TM) technology
program can run on that platform.

Java(TM) technology applet:


A Java(TM) technology program that can be included in an Hypertext Markup
Language (HTML) page via the <APPLET> element (or tag) and can be observed in
a Java(TM) technology-enabled browser or applet viewer.

layout manager:
The layout manager determines how portions of the screen will be sectioned and
how components within that section will be placed. There are five basic layout
managers: FlowLayout, GridLayout, BorderLayout, CardLayout, and
GridBagLayout.

lifetime:
The time between an object's creation and its destruction. An object may have a
finite lifetime in a system. When an object is composed of other objects, their
lifetimes completely overlap. When an object is associated with another object, their
lifetimes need only intersect. In the case of the latter, the programmer must address
the issue of custody.

link:
A location within a Web page that can be clicked on, taking the user to another
page, image, or other resource. A link may also point to another location within the
same page.

logical_type:
See boolean.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


long:
A 64-bit primitive integral type used to store whole numbers in the range -2^63...
2^63-1. See also integral types.

member:
The operations and the attributes (public or private) that comprise an object.

member variable:
Member variables, also known as attributes, are created when an object is
constructed using the new Xxxx() call. These variables continue to exist for as long
as the object exists.

memory allocation-deallocation:
When a program declares a variable, memory sufficient to contain valid values of
the variable is automatically reserved (allocated). When this variable is no longer
needed the reserved memory is released (deallocated).
Many languages allow the programmer to explicitly allocate memory and explicitly
deallocate memory. A pointer variable is used to store the starting address of the
memory allocated. Improper allocation/deallocation can lead to memory leaks.

memory leaks:
A memory leak occurs when allocated memory is not deallocated when it is no
longer needed. As this allocation/non-deallocation process repeats, the amount of
free memory decreases, hence the term "memory leak."

message passing:
The activity of one object communicating with another by sending it a message.
The mechanism for message passing might be as simple as a method call, but the
result is the same. Messages consist of three components: the name of the target
object, the method being requested, and the arguments for the method, if required.

method:
The behavior that an object may perform. Operations are defined in the class and
may be public (being interface functions or methods) or private (implementation).

methods:
The function or behavior that an object can perform. Operations are defined in the
class and can be public (interface functions or methods) or private
(implementation).

MIME:
Multimedia Imbedded Mail Extensions (MIME) is a specification for multimedia
document formats.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


Mosiac:
A graphical Web browser originally developed by the National Center for
Supercomputing Applications (NCSA). It now includes a number of commercially
licensed products.

multiple inheritance:
The process of deriving a new class from two or more base classes through
inheritance. The Java programming language does not support multiple inheritance.

native methods:
Class methods that are declared in a Java(TM) technology class but implemented in
other programming languages, such as C.

native2ascii:
The native2ascii tool converts a file with native-encoded characters (characters that
are non-Latin 1 and non-Unicode) to one with Unicode-encoded characters.
The Java(TM) technology compiler and other Java(TM) technology tools can only
process files that contain Latin-1 and/or Unicode-encoded (\udddd notation)
characters. native2ascii converts files that contain other character encodings into
files containing Latin-1 and/or Unicode-encoded charaters. If output file is omitted,
standard output is used for output. If, in addition, input file is omitted, standard
input is used for input.

navigating:
The act of observing the content of the Web for some purpose.

non-visual component:
Non-visual components do not have a visual interface and are completely invisible
at run time.

object:
An instance of a class. The class specifies the form and nature of an object, and the
object is an actual instantiation of this form and nature. A class Person describes
operations and states for persons in general. Dave, John, and Jim are actual objects
of Person.

object modeling:
The process of representing a real- or problem-world scenario in terms of objects,
classes, and their interrelationships.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


object oriented:
The basic concept in this approach is that an "object" is a data structure (abstract
data type) encapsulated with a set of routines, called methods, that operate on the
data. Operations on the data can only be performed using these methods, which are
common to all objects that are instances of a particular "class" (see inheritance).
Thus the interface to objects is well defined, and allows the code implementing the
methods to be changed as long as the interface remains the same.
Each class is a separate module and has a position in a "class hierarchy." Methods
or code in one class can be passed down the hierarchy to a subclass or inherited
from a superclass.
Procedure calls are described in terms of message passing. A message names a
method and can, optionally, include other arguments. When a message is sent to an
object, the method is looked up in the object's class to find out how to perform that
operation on the given object. If the method is not defined for the object's class, it is
looked for in its superclass and so on up the class hierarchy until it is found or there
is no higher superclass.
Procedure calls always return a result object, which might be an error, as in the case
where no superclass defines the requested method.

objects:
Objects are runtime representations or instantiations of their class definition. A class
Person describes operations and
states for people in general. Dave, John, and Jim are actual objects of Person.

OMG:
Object Management Group (OMG) was an association of vendors formed in 1989
to put forth a standard architecture for distributed objects. The standard architecture
put forth by OMG is Common Object Request Broker Architecture (CORBA).

operations:
A function or behavior that acts upon data.

ORB:
Object Request Broker (ORB) is a distributed paradigm model that combines
client/server technology with object-orientation. ORB allows business logic
components to be built as a series of reusable objects that can be distributed across
multiple platforms.

overloading:
To declare one or more methods with the same name but distinct argument lists.
Java programming language methods can be overloaded.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


override:
Overridding a method is replacing the superclass implementation of a method with
a subclass specific one. Unlike overloading, in overriding the method signatures,
including the argument list, must be identical. Note that only non-static methods
may be overridden.
An overriden method (the implementation in the sublcass) is executed at runtime
based on the true type of the object because methods in the Java programming
language are virtual by design.

ownership:
See custody.

package:
A package is a group of classes that belong together. Classes in a different package
need to be imported if not already included in the classpath.
For example, Java(TM) technology provides packages, such as java.io and
java.lang, which holds some of the basic classes such as System and String. Users
typically define their own package structure and group related classes together.

packet:
The smallest unit of information that is usually transmitted over a network.. A
packet also contains the necessary addressing data for it to reach its destination.

page:
The basic unit of information used on the World Wide Web. A Web browser
generally views information one page at a time.

panel:
An invisible GUI component used to contain other components.

parameter:
See applet parameter.

parameter list:
The set of values passed to a method. The definition of the method describes how
these values are manipulated.

parent class:
The originating class of a given subclass.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


pointer:
A pointer is a special variable that holds a memory address. The value of the pointer
variable is assigned/used in
memory allocation/deallocation routines.

pointer arithmetic:
Pointer arithmetic is the process of manipulating the value stored in the pointer to
access different parts of memory. If an error occurs, the pointer could be pointing to
a location in memory that contains garbage. In Java, manipulating pointer arithmetic
is not the developer's responsibility.

polymorphism:
A method that is "multiply formed." That is, the same method name with the same
prototype is defined for two or more classes. Polymorphic methods have the same
semantics (that is, to read, write, display, and update an object), but different
implementations. Each implementation is appropriate for the particular class for
which it is defined.

primitive types:
Categories of data that restrict the values you can put into a variable or that a
constant can have, and make up the simple data parts of the Java programming
language. Some can store only whole numbers (integral types), while others can
store decimal places as well (floating point types).
Others for storing character information (char) and true/false logical values
(boolean). The Java programming language rules require that you give each variable
and constant a type.

primitive variable:
A Java (TM)technology variable with a primitive type.

private:
Members of an object that may not be accessed directly by other objects. They may
only be accessed indirectly through public members.

problem domain:
The system you want to model using OO in preparation for representing in an
application written in the Java programming language. A problem domain could be
an intersection with a traffic light, a company's system for processing orders, and so
on.

protocol handler:
A program that is loaded into the user's browser and that interprets a protocol. These
protocols include standard ones such as Hypertext Markup Language (HTTP) or
programmer-defined protocols.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


public:
Members of a class that may be accessed from other objects and other member
functions directly. Public member functions (data is usually private) define the
interface or methods for the class.

reference type:
The type of data that can be stored in a reference variable.

reference variable:
When you create objects you store them in a separate part of memory, but you need
to remember the address of where they were created. Reference variables are used to
hold the addresses of objects. (The object is itself defined by one of the Java(TM)
technology reference types.

robot:
A software program that automatically explores the Web for a variety of purposes.
Robots that collect resources for later database queries by users are sometimes
called spiders.

scope:
The range over which an action or definition applies. An identifier's scope is where
the identifier can be referenced in a program. Some identifiers can be referenced
throughout a program, while others can be referenced from only limited portions of
a program. The access control modifier (public, private, protected) used in the
declaration and where an identifier is declared determine the scope of an identifier.

semantic gap:
The distance between the problem world and the computer representation of the
problem. A strength of object-oriented systems is that they reduce the semantic gap
between the problem world and the computer representation. The entities in the
problem world are modeled directly as objects in the analysis, design, and program
representations. This promotes ease of understanding, verification, and
modification.

sequence diagram:
UML notation used to capture the operations of a single use case and show how
groups of objects collaborate on those operations. A UML diagram showing the
sequence of interactions among objects.

server:
A software application that provides information or services based on requests from
client programs.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


SGML:
Standardized, Generalized Markup Language (SGML) is an International
Organization for Standardization (ISO), American National Standards Institute
(ANSI), and European Computer Manufacturers Association (ECMA) standard that
specifies a way to annotate text documents with information about types of sections
of a document; for example, "this is a paragraph" or "this is a title."

short:
A 16-bit primitive integral type used to store whole numbers in the range -2^15 ...
2^15 -1. See also integral types.

signature:
The combination of a method's name and argument list is know as the method
signature. In the Java programming language, it is permitted to have several
methods in a class of the same name. Methods with the same name may have been
overloaded (different argument list) or overriden (same signature). See also
overloading.

site:
A location on the Internet that contains a common grouping of files or information.
For example, a Web site, a Gopher site, or a File Transfer Protocol (FTP) site.

smalltalk:
Smalltalk is the pioneer object-oriented programming system developed by the
Software Concepts Group, led by Alan Kay, at Xerox PARC in 1972. It includes a
language (usually interpreted), a programming environment, and an extensive object
library.
Smalltalk took the concepts of class and message from Simula-67 and made them
all-pervasive. Innovations included the bitmap display, windowing system, and use
of a mouse.

socket:
Socket is a Berkeley Software Distribution (BSD) system call used to create UNIX
(R) domain sockets (the end points of communication links between processes).
Because of the popularity of the BSD programming model, the name has been
reused in other areas, including Java technology.

software components:
Software components are defined as reusable software building blocks that can be
assembled to create applications.

specialization:
See inheritance.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


spider:
A software program that traverses the Web collecting information about resources
for later queries by users seeking to find resources.

spoof:
"Spoof" is a technical term meaning "hoax."

stack:
A stack is a data structure for storing items that are to be accessed in last-in first-out
order (LIFO). Typical operations on a stack are to create a new stack, to "push" a
new item onto the top of a stack, and to "pop" the top item off. Error conditions are
raised by attempts to pop an empty stack or to push an item onto a stack that has no
room for further items (because of its implementation).
Most processors include support for stacks in their instruction set architectures.
Perhaps the most common use of stacks is to store subroutine arguments and return
addresses. This is usually supported at the machine code
level directly by "jump to subroutine" and "return from subroutine" instructions, by
auto-increment and auto-decrement addressing modes, or both.
These allow a contiguous area of memory to be set aside for use as a stack and
allow the user to choose either a special purpose register or a general purpose
register as a stack pointer.

state:
The set of current data for an object. An object's state changes at runtime based on
the behaviour invoked due to interaction with other objects.

strings:
The class used to store reference variables for textural values. In Java, Strings are
objects and thus have attributes as well as methods that can be invoked on them.
See also reference variables.

subclass:
The class that inherits from another class. Inheritance is a mechanism for defining a
new class in terms of an existing class. For instance, a general Ball class could be
used to define a new class, TennisBall. TennisBall inherits members from the Ball
class, so TennisBall is a subclass of the Ball superclass. See also inheritance.

subtype:
UML term for subclass.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


superclass:
The class that another class inherits from. Inheritance is a mechanism for defining a
new class in terms of an existing class For instance, a general Ball class could be
used to define a new class, TennisBall. TennisBall inherits members from the Ball
class, so TennisBall is a subclass of the Ball superclass. See also inheritance.

supertype:
UML term for superclass.

surfing:
The act of navigating the Web, typically by using techniques for rapidly traversing
the Web to find subjectively valuable resources.

tag:
See HTML Tag.

TCP/IP:
The Transmission Control Protocol/Internet Protocol (TCP/IP) suite is used to
establish a connection for data transmission (TCP) and to define the composition of
the packet of information being transferred (IP). The Internet suite is commonly
referred to as TCP/IP. The SunOS networks run on TCP/IP by default.

text editor:
A program that creates and modifies text files normally using the ASCII format
standard.

textual type:
See char.

thread:
A single-threaded program is a program that only does one task at one time. A
multi-threaded program executes more than one task at a time with concurrent
threads (contexts of execution).
For example, a multi-threaded program allows you to continue working while the
program prints in the background.
Each thread is an independently executable piece of code.

typecast:
To lower the range of a value by changing its type, such as converting a long to an
int. Typecasting is typically done in order to access other developer's methods that
accept only certain types as arguments, or to save memory.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


UML:
Unified Modeling Language (UML) is used to model, design and notate a system in
preparation for development. UML is programming language independent and can
be used to create case, class, sequence, activity diagrams and more.

Unicode:
A character set that supports many world languages. Java uses a unicode character
scheme and thus supports
internationalization by default.

URL:
A Uniform Resource Locator (URL) is a form of addressing typically used for
World Wide Web or Internet resources.

use case:
In UML, an interaction of a user with an application in order to achieve a desired
result. A use case is a detailed
description of a single activity in a business process that may identify actors, data
inputs and outputs, performance/timing requirements, main/alternate flows,
handling of error conditions and interfaces with external applications.

use case diagram:


UML notation showing all the use_case for the application you want to create, the
actors (a role that a user plays when interfacing with the application) on those use
cases, and the links (relationships) among the use cases.

Usenet:
A worldwide network of UNIX&reg; systems, with decentralized administration,
used for electronic mail and transmission by special-interest discussion groups. It
was originally implemented using UNIX-to-UNIX copy program (UUCP) software
and telephone connections; that method of communication remains important,
although
more modern methods are also used.

variable:
A data item whose value may change during program execution.

visual component:
A visual component has a visual representation that requires physical space on the
display surface of a parent application.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.


VRML:
The Virtual Reality Modeling Language (VRML) is a specification for three-
dimensional rendering used with Web browsers.

weaving:
The act of creating and linking Web pages.

Web:
See World Wide Web.

Web server:
Software that uses the client/server model and the World Wide Web's Hypertext
Transfer Protocol (HTTP) to provide services to Web clients.

World Wide Web:


A hypertext information and communication system popularly used on the Internet
computer network with data communications operating according to a client-server
model. Web clients (browsers) can access multiprotocol and hypermedia
information by using an addressing scheme.

WWW:
See World Wide Web.

Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.

You might also like