Skip Headers

Oracle® Database Java Developer's Guide
10g Release 1 (10.1)

Part Number B12021-01
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Master Index
Master Index
Go to Feedback page

Go to previous page
Go to next page
View PDF



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


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.


The environment variable (or command line argument) that 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.

Core Class Libraries

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


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.


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.


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 supported in OracleJVM are: Thin, OCI, and KPRB.


Within your session, you may invoke Java many times. Each time you do 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.


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.

Java Schema Object

The term that Oracle Database uses to denote either Java source, binary, or resources when stored in the 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.


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 the Sun Microsystems JDK releases, although in the case of Oracle Database, only the Java classes and not the virtual machine, are identical to the Sun Microsystems JDK.


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 KPRB.


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


Java Language Specification. This specification defines the syntax and semantics of the Java language.


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.

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.


Oracle's scalable Java server platform, composed of the Java virtual machine running within the Oracle Database server, the Java runtime environment and Oracle extensions.

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.


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.

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.


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


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.