Jde nějak omezit alokace paměti na haldě, případně zcela obejít? Některé jazyky jsou efektivnější, protože umožňují alokaci na zásobníku, která je velmi levná a nepotřebuje GC (např. C++ nebo Go nebo Swift oproti Javě). Navíc existují i jazyky (a coding guidelines pro C(++)), které dynamickou alokaci nemají/zakazují. Proč teda Java vše alokuje dynamicky, takže každý objekt musí být uvolněn GC?