The figure illustrates a conceptual view of the Oracle Database Java component structure. Java applications reside on top of the Java core libraries and the Oracle-supported Java application programming interfaces (APIs) like SQLJ, JDBC, and JNDI. The Java application utilizes these libraries and APIs and interact with the Oracle Database JVM. Unlike the general case, in which the JVM directly interacts with the underlying operating system, the Oracle JVM resides on top of the Oracle Database libraries and interacts with the operating system through these libraries.