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.