I would gently suggest that you are laboring under incorrect assumptions. There is nothing &quot;lightweight&quot; about JVM threads; they are standard native threads on normal platforms and on Linux a thread context switch has roughly the same performance overhead as a process context switch. (There is a difference, and if you study the kernel source I&#x27;m sure you can divine it, but you will also quickly realize that it is a rounding error compared to the first cache eviction of the new context.) The memory overhead of a process in Linux is literally measured in tens of kilobytes.<p>I also suggest you look into preforking and copy-on-write and ensure that you are clear on how Linux works with regards to memory usage; modern Linux systems indeed do not necessitate &quot;burning RAM&quot; to use multiple processes (indeed, the fork paradigm is the standard Unix approach for a reason, it only makes sense to make it performance-friendly). I would also note that while a Ruby or a Python can do this, Java, in standard configurations, cannot, were one to desire the ability to do so (and I&#x27;ve had reasons to run JVM applications in a multiprocess mode before).<p>I don&#x27;t dislike Java, don&#x27;t get me wrong. I write a great deal of Kotlin. But accuracy is important.