JVM daemon

daemonjava

I'm curious, is there a JVM which runs as an OS daemon, and forks when a new process should be started in it ( i.e. like init, or zygote process on Android )? If no, why not? I am not talking about a daemon thread within the JVM.

The reason why I'm asking, is because the JVM startup time is quite slow, and incurs a heavy toll on scripting.

Best Answer

JVM startup time is quite slow, and incurs a heavy toll on scripting . . . huge optimization for java process startup time.

The other answers answer the question with respect to generic app startup, which are useful considerations.

But seems your primary question is Java application startup performance re overhead of starting a jvm. This has also been my question. I found this:

If willing to sacrifice user-separation security, check out Nailgun, an Insanely Fast Java:

Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O.

Related Question