Can Java cold-start?

A JavaSE based HTTP service

In this installment of the series we are using examples created using just JavaSE APIs to cold start a HTTP server.

If you want to run the experiment yourself you can download the example.tar.gz file.

Example Process start Process ready Process total
Example 1 - JShell 541 ms 12 ms 553 ms
Example 2 - JAR file 76 ms 31 ms 107 ms
Example 3 - .class files 72 ms 30 ms 102 ms
Example 4 - JShell (Docker) 988 ms 12 ms 1000 ms
Example 5 - JAR file (Docker) 574 ms 22 ms 596 ms

These numbers were collected on a Mac Mini M1 with 16GB using Java 17


If you have any comments, suggestions or concerns, please start a discussion on GitHub.

Posted October 15th, 2021