# JVMs in Containers: Best Practices - David Delabassee
{%hackmd WDaotZ6JSn6UdPEhrgLeyw %}
Container vs VM
JVM Container Tooling
JVM should behave as a good (Container) citizen.
Use jlink to create a custom Java Runtime which helps reduce the Docker image size.
Fn is a lightweight Docker-based serverless functions platform. https://fnproject.io/
jlink with Alpine OS
Class Data Sharing helps reduce the startup time for Java.
GraalVM: high performance universal virtual machine, reduce image size
Use Java version as latest as possible.
Choose the base image wisely and secure it.
###### tags: `jcconf`