Collection cost in that model is irrelevant as it&#x27;s only a split second and happens after hours.<p>Yes, you can emulate a young generation in C++ or even multiple young gens (i.e. arenas), obviously, as you can do anything in C++ that you can do in Java and vice-versa (java has the Unsafe class that allows you to do low level programming with pointer arithmetic etc). The question is not, can it be done, but rather what&#x27;s easier and lower cost?<p>With the Java approach, the only developer overhead is making sure you don&#x27;t do too much allocation on the hot path, then sizing your young gen to avoid collections (one command line flag), and doing a GC at night. Not nothing but not too hard either; after all, you <i>can</i> allocate if you really need to, and some allocations will be optimised out anyway.<p>The C++ equivalent would be to allocate as much as possible on the stack, and then make sure to do a restart every night to eliminate any heap fragmentation that is left. Not that different, until you screw up and try to delete something on the stack or forget to delete something that isn&#x27;t. That&#x27;s when the robustness the GC is giving you starts to pay off.