1. A method comprising: receiving, by a first Java Virtual Machine (JVM) process, a workload for an application; detecting, by the first JVM process, a threading limit, based on by querying the properties of the JVM; determining, by the first JVM process, whether the workload for the application is above the threading limit; responsive to determining that the workload for the application is above the threading limit, determining a quantity of at least one sub-processes from the first JVM process based on the size of the workload, wherein the at least one sub-process from the first JVM process comprises a 32-bit JVM; spawning, by the first JVM process, one or more new sub-processes, each with a reduced number of threads based on the determined quantity of the at least one sub-process; coordinating, by the first JVM process, the received workload for the application, using inter-process communication (IPC); and executing, by the one or more new sub-processes, the received workload for the application.