|Oracle9i Java Developer's Guide
Release 1 (9.0.1)
Part Number A90209-01
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 and SQLJ 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.
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.
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.
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.
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.
Generally, the Java packages delivered with the Sun Microsystems JDK,
java.*. We also use this term to denote some
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 Oracle9i JVM are: Thin, OCI, and KPRB.
Enterprise JavaBeans. Oracle9i provides an implementation of the Enterprise JavaBeans 1.1 Specification.
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.
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.
The platform-independent language that CORBA specifies for defining the interface to a CORBA component. You use a tool like
idl2java to convert IDL to Java code.
The term that Oracle9i 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--.
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 Oracle9i, 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.
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.
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.
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 Oracle9i database server, the Java runtime environment and Oracle extensions, including the ORB and Enterprise JavaBeans implementation.
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 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.
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.
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.
In Java, the requirement that the class of each field and variable, and the return type of each method be explicitly declared.
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.
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.