Java on Google App Engine

App Engine offers you a choice between two environments for Java applications: flexible environment and standard environment, with Java 7 and Java 8 beta runtimes for standard. Both environments have the same code-centric developer workflow, scale quickly and efficiently to handle increasing demand, and enable you to use Google’s proven serving technology to build your web, mobile, and IoT applications quickly and with minimal operational overhead. While the available environments have a lot in common, they differ in a few important ways.

Choose your preferred environment

Standard environment Java 8

  • Has all the benefits of Java 7 runtime but with upgrades and enhancements.

  • OpenJDK 8-based Java runtime supports the standard public Java library (no whitelist).

  • Doesn't impose a security manager--your code won't be restricted by Java permissions issues.

  • Java 8 runtime documentation

Standard environment Java 7

  • Lightweight Java 7 runtime is optimized to scale nearly instantaneously to handle huge traffic spikes.

  • The performance optimized programming model limits the use of native code, access to the file system, and some network activities. Learn more

  • Uses proprietary APIs to simplify common tasks like database access, queuing, and in-memory caching.

  • Most cost-effective for applications that have significant periods where they are not serving traffic.

  • Java 7 runtime documentation

Flexible environment

  • Full open source language runtimes.

  • Use any framework, library, or binary of your choice.

  • Code is portable to anywhere that supports Docker containers.

  • Most cost-effective for applications that serve traffic continuously.

  • Java 8 runtime documentation

Choosing an environment

You can run an App Engine application in two environments, the standard environment and the flexible environment. See a summary of differences between the two environments.
Learn more

Send feedback about...

App Engine Documentation