# The Java Runtime Environment - Google App Engine - Google Code

English ▼
Skip to page content Skip to main navigation
e.g. "templates" or "datastore"

# The Java Runtime Environment

App Engine applications can be implemented using the Java programming language, and other languages that use the Java Virtual Machine. The App Engine Java runtime environment includes the Java 6 JVM and interfaces to the App Engine services that conform to industry standards, such as servlets and JDO/JPA. You can also use raw APIs to the services for implementing other interfaces.

This developer guide introduces the standard interfaces and explains how to use them with App Engine, as well as the raw APIs and development tools included in the App Engine Java SDK.

This chapter has the following sections:

- Overview
- Servlet Environment
- Backends
  - Overview
  - Javadoc Reference
- Storing Data
  - Overview
  - Entities
  - Queries
  - Transactions
  - Choosing a Datastore
  - Using the High Replication Datastore
  - Metadata Queries
  - Statistics
  - Async API
  - Callbacks
  - JDO
    - Overview
    - Defining Data Classes with JDO
    - Creating, Getting, and Deleting Data in JDO
    - Entity Relationships in JDO
    - Queries in JDO
  - JPA
    - Overview
  - Google Cloud Storage
    - Overview
    - API Reference
- Javadoc Reference

- Services
  - App Identity
    - Overview
    - Low-level API
  - Blobstore
    - Overview
    - Reference
      - API Reference
  - Google Cloud Storage
    - Overview
    - API Reference
- Capabilities
  - Overview
  - Javadoc Reference
- Conversion
  - Overview
  - Javadoc Reference
- Channel
  - Overview
  - Javadoc Reference
  - JavaScript Reference
- Images
  - Overview
  - API Reference
- Mail
  - Overview
  - Using JavaMail to Send Mail
  - Receiving Mail
  - Low-level API
- Memcache
  - Overview
  - Using JCache
  - Low-level API
- Multitenancy
  - Overview
  - Multitenancy with Namespaces
  - Other Uses for Namespaces
  - API Reference
- OAuth
  - Overview
  - API Reference
- Prospective Search
  - Overview
  - Javadoc Reference
- Task Queues
  - Overview
  - Using Push Queues
  - Using Pull QueuesNew!
  - Javadoc Reference
  - REST reference (Experimental)
- URL Fetch
  - Overview
  - Using java.net
  - Low-level API
- Users
  - Overview
  - API Reference
- XMPP
  - Overview
  - API Reference
- Services Javadoc
- JRE Class White List
- Configuration
  - Deployment Descriptor
  - App Config
  - Backends Config
  - Index Config
  - Scheduled Tasks
  - Task Queue Config
  - DoS Protection Config
- YAML Configuration
  - YAML App Config
  - Backends Config
  - Index Config
  - Scheduled Tasks
  - Task Queue Config
  - DoS Protection Config
- Tools
  - Development Server
  - Uploading and Managing an App
  - Google Plugin for Eclipse
  - Using Apache Ant
  - Capabilities Service Test Configuration
  - Local Unit Testing
    - Testing Javadoc
  - Appstats
  - Remote API
- How-To
  - Handling Scheduled Maintenance Periods