java

Approaches

JDKs

JDK is a development environment (compiler, jvm, debugger) JRE is just executable runtime (java command)

There are many JDK distributions

Versions

Gradle

Migrations

Can be run as jobs from ci or a ceprate service, on application start Can run as mvn or gradle plugins Use liquibas

Maven

Spring

Spring Configuration Server

HTTP API Sources: git, Vault ** Git source repo: properties ** Alternative

Distribution

Docker

Java needs to be configured to run in containers to properly utilize memory

JVM Options

Deployment