3 ms·
The classic example would be real-time applications where hard envelopes in terms of response times are required and GC pauses must _never_ happen. But even in
by samus 6y ago
The classic example would be real-time applications where hard envelopes in terms of response times are required and GC pauses must _never_ happen. But even in these cases it is possible to do a lot:
- write garbage-free code (reuse objects and byte buffers, allocate memory off the Java heap and store the pointers in `long`s)
- use a GC that doesn't pause and carefully profile the app to ensure the GC can keep up with the rate of memory allocation
- turn off the GC and cross fringers if the app crashing is considered better than not responding
It's just difficult because most software is written using software patterns that require a GC, which is perfectly fine for many domains.