# Java API

> The eXtremeDB Java Native Interface (JNI) consists of a set of wrapper classes that encapsulate the low-level C functions which make up the eXtremeDB runtime. The usage of these classes is demonstrated in the Java SDK Samples. For developers new to eXtremeDB, we recommend the Quick Start tutorial to quickly learn the programming fundamentals. Then proceed to build and run the SDK samples.

> As demonstrated in these samples, a Java application will define its database schema using native Java classes with the `@Persistent` annotation. Typically these database classes are then specified in the `Database.Parameters.Classes` initialization list as an argument to the `Database.open()` method. The required eXtremeDB runtime libraries are loaded dynamically when the `Database` object is instantiated.

> Please use the following link for general principles of eXtremeDB application implementation using the JNI classes.