Oracle8i Java Developer's Guide Release 3 (8.1.7) Part Number A83728-01 |
Library | Service | Contents | Index

#
Glossary

##### API

##### Application Programming Interface. As applied to Java, a well-defined set of classes and methods that furnish a specific set of functionality to the Java programmer. JDBC and SQLJ are APIs for accessing SQL data.

##### Bytecodes

The set of single-byte, machine-independent instructions to which Java source code is compiled using the Java compiler.

##### Call Memory

The memory that the memory manager uses to allocate new objects.

##### CLASSPATH

The environment variable (or command line argument) the JDK or JRE uses to specify the set of directory tree roots in which Java source, classes, and resources are located.

##### Context switch

In a uniprocessor system, the current thread is interrupted by a higher priority thread or by some external event, and the system switches to a different thread. The choice of which thread to dispatch is usually made on a priority basis or based on how long a thread has been waiting.

##### Cooperative Multitasking

The programmer places calls to the `Thread.yield()` method in locations in the code where it is appropriate to suspend execution so that other threads can run. This is quite error-prone because it is often difficult to assess the concurrent behavior of a program as it is being written.

##### CORBA

Common Object Request Broker Architecture. Specified by the Object Management Group (OMG), CORBA provides a language-independent architecture for distributing object-oriented programming logic between logical and physical tiers in a network, connected through ORBs.

##### Core Class Libraries

Generally, the Java packages delivered with Sun Microsystem's JDK, java.*. We also use this term to denote some sun.* packages.

##### Deadlock

The conflict state where two or more synchronized Java objects depend on locking each other but cannot because they themselves are locked by the dependent object. For example, object A tries to lock object B while object B is trying to lock object A. This situation is difficult to debug because a preemptive Java virtual machine can neither detect nor prevent deadlock. Without deadlock detection, a deadlocked program simply hangs.

##### Dispatch

The system saves the state of the currently executing thread, restores the state of the thread to be executed, and branches to the stored program counter for the new thread, effectively continuing the new thread as if it had not been interrupted.

##### Driver

As used with JDBC, a layer of code that determines the low-level libraries employed to access SQL data and/or communicate across a network. The three JDBC drivers in JServer are: thin, OCI, and server.

##### EJB

Enterprise JavaBeans. JServer provides an implementation of the Enterprise JavaBeans 1.0 Specification. JServer supports only Session Beans; Entity Beans are an optional part of the EJB 1.0 Specification, and JServer does not support them.

##### End-of-Call

Within your session, you may invoke Java many times. Each time you perform this, end-of-call occurs at the point at which Java code execution completes. The memory manager migrates static variables to session space at end-of-call.

##### Garbage Collection

The popular name for the automatic storage reclamation facility provided by the Java virtual machine.

##### IDE

Integrated Development Environment. A Java IDE runs on a client workstation, providing a graphical user interface for access to the Java class library and development tools.

##### Interface Definition Language (IDL)

The platform-independent language CORBA specifies for defining the interface to a CORBA component. You use a tool like `idl2java` to convert IDL to Java code.

##### Java Schema Object

The term JServer uses to denote either Java source, binary, or resources when stored in the Oracle8i database. These three Java schema objects correspond to files under the JDK--.java, .class, or other files (such as .properties files) used in the JDK CLASSPATH.

##### JCK

Java Compatibility Kit. The set of Java classes that test a Java virtual machine and Java compiler's compliance with the Java standard. JCK releases correspond to Sun Microsystem's JDK releases, although in the case of JServer, only the Java classes and not the virtual machine, are identical to Sun Microsystem's JDK.

##### JDBC

Java Database Connectivity. The standard Java classes that provide vendor-independent access to databases.

##### JDBC Driver

The vendor-specific layer of JDBC that provides access to a particular database. Oracle provides three JDBC drivers--thin, OCI, and server.

##### JDK

Java Development Kit. The Java virtual machine, together with the set of Java classes and tools Sun Microsystems furnishes to support Java application and applet development. The JDK includes a Java compiler; the JRE does not.

##### JRE

Java Runtime Environment. The set of Java classes supporting a Java application or applet at runtime. The JRE classes are a subset of the JDK classes.

##### JServer

Oracle's scalable Java server platform, composed of the Aurora Java virtual machine running within the Oracle8i database server, the Java runtime environment and Oracle extensions, including the Aurora/ORB and Enterprise JavaBeans implementation.

##### Lazy Initialization

A technique for initializing data, typically used in accessor methods. The technique checks to see if a field has been initialized (is non-null) before returning the initialized object to it. The overhead associated with the check is often small, especially in comparison to initializing a data structure that may never be accessed. You can employ this technique in conjunction with end-of-call processing to minimize session space overhead.

##### Object Graph

An object is said to reference the objects held in its fields. This collection of objects forms an object graph. The memory manager actually migrates the object graphs held in static variables; that is, it migrates not only the objects held in static fields, but the objects that those objects reference, and so on.

##### ORB

Object Request Broker. An ORB is a program that executes on the server, receiving encoded messages from clients for execution by server-side objects and returning objects to the client. ORBs typically support different services that clients can use, such as a name service. The JServer ORB is known as the Aurora/ORB.

##### Preemptive Multitasking

The operating system preempts, or takes control away from a thread, under certain conditions, such as when another thread of higher priority is ready to run, or when an external interrupt occurs, or when the current thread waits on an I/O operation, such as a socket accept or a file read. Some Java virtual machines implement a type of round-robin preemption by preempting the current thread on certain virtual machine instructions, such as backward branches, method calls, or other changes in control flow. For a Java virtual machine that maps Java threads to actual operating system threads, the preemption takes place in the operating system kernel, outside the control of the virtual machine. Although this yields decent parallelism, it complicates garbage collection and other virtual machine activities.

##### Process

An address space and one or more threads.

##### Session Memory

The memory that the memory manager uses to hold objects that survive past the end-of-call--those objects reachable from Java static variables within your session.

##### SQLJ

Embedded SQL in Java. The standard that defines how SQL statements can be embedded in Java programs to access SQL data. A translator transforms the SQLJ programs to standard JDBC programs.

##### Strong Typing

In Java, the requirement that the class of each field and variable, and the return type of each method be explicitly declared.

##### Symmetric Multiprocessing (SMP)

The hardware has multiple processors, and the operating system maps threads to different processors depending on their load and availability. This assumes that the Java virtual machine maps OS threads to Java threads. This mechanism provides true concurrency among the threads but can lead to subtle programming errors and deadlock conflicts on synchronized objects.

##### System

Often used in discussion as the combination of the hardware, the operating system and the Java virtual machine.

##### Thread

An execution context consisting of a set of registers, a program counter, and a stack.

##### Virtual Machine

A program that emulates the functionality of a traditional processor. A Java virtual machine must conform to the requirements of the Java Virtual Machine Specification. The JServer virtual machine is known as the Aurora virtual machine.

| Copyright © 1996-2000, Oracle Corporation. All Rights Reserved. |
Library | Service | Contents | Index