# Application Development with Java

> The eXtremeDB Java API consists of a set of Java classes which form a convenient wrapper for the lower-level C runtime libraries. For general principles of eXtremeDB application implementation using the Java Native Interface please use the links in the following table:

> Database schema | Defining the database schema
> Runtime Control | Starting and terminating the eXtremeDB runtime; setting runtime options and fatal error handler
> Memory Devices | Memory device specification
> Database Open/Close | Creating/Opening and closing databases
> Database Connect/Disconnect | Connecting to and disconnecting from databases
> Extending Memory | Extending device memory
> Database Object Interfaces | Creating and modifying database objects
> Creating Class Relationships | Implementation techniques for connecting (joining) database classes
> Indexes and Cursors | Defining and using indexes for optimal data access and managing cursors representing selections of database objects
> Search Methods | Implementing lookups of individual database objects and searches for selections of objects
> SQL_Query_Result | SQL query result processing
> Events and TTL | Database event triggers and automatic deletion of obsolete database objects through the Time-To-Live (TTL) feature
> Concurrency and Transaction Control | Strategies and implementation details for managing database transactions and concurrency
> Data Export and Import | Backup and restore, saving and loading database snapshots, metadata and dictionaries, XML export/import
> Network_Communications | Managing network connections and security
> Monitoring Storage | Database statistics interfaces and monitoring storage space consumption
> Persistent Database IO | How eXtremeDB manages cache and persistent media I/O operations
> Transaction Log Files | Setting transaction log file type and parameters
> Error Handling | Return status and error codes and how to handle fatal and non-fatal runtime errors
> Programming Examples | Example code illustrating the use of eXtremeDB APIs