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.
H. Burchell, O. Larose, and S. Marr. Proceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, ACM, (September 2024)
T. Mytkowicz, A. Diwan, M. Hauswirth, and P. Sweeney. Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, page 187--197. ACM, (June 2010)
X. Yang, S. Blackburn, D. Frampton, J. Sartor, and K. McKinley. Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, page 307--324. ACM, (2011)
V. Kumar, D. Frampton, S. Blackburn, D. Grove, and O. Tardieu. Proceedings of the 2012 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA 2012), Tucson, AZ, October 19-26, 2012, volume 47 of SIGPLAN Notices, page 297--314. ACM, (October 2012)
C. Thalinger, and J. Rose. Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java, page 1--9. New York, NY, USA, ACM, (2010)
M. Paleczny, C. Vick, and C. Click. JVM'01: Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium, page 1--1. Berkeley, CA, USA, USENIX Association, (2001)
R. Golbeck, and G. Kiczales. VMIL '07: Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms, page 2. New York, NY, USA, ACM, (2007)