> And that is a problem for a company with 20k employees?
It is for a company where the promotion culture rewards new initiatives and products and doesn't reward people maintaining products. Which was most certainly the company culture around the time reader was killed.
Sadly in many cases no; it's not magic. This nirvana is restricted to cases where there is CPU bandwidth available (e.g. some cores idle) and plenty of free RAM. When either CPU or RAM are less plentiful... hello pauses my old friend.
This is why memory-bound services generally use languages without mandatory GC. Tail latency is a killer.
Rust's memory management does have some issues in practice (large synchronous drops) but they're relatively minor and easily addressed compared to mandatory GC.
In cases where java is unavoidable and you're working with large blocks, it is possible to sort of skirt around the gc with certain kinds of large buffers that live outside the heap.
I've used these to great success when I had multiple long-lived gigabyte+ arrays. Without off-heap memory, these tended to really slow the gc down (to be fair, I didn't have top of the line gc algorithms because the openj9 jvm had been mandated)
Managing off heap memory in Java is pain even worse than manual memory management in C. Unlike C++ and Rust, Java offers no tools for manual memory management, and its idioms like frequent use of exceptions make writing such code extremely error prone.
But it is a pain and only really useful if you have a big, long lived object. In my case it was loading massive arrays into memory for access by the API server frontend. They needed to be complete overwritten once an hour, and it turns out that allocating 40% of system memory then immediately releasing another 40% back to the GC at once is a good recipe for long pauses or high CPU use
A lot of sharpshooter/sniper types who have tried it seem to say it's pretty easy. Interestingly they tend to miss the first shot (like Oswald) due to the steeper downward angle.
Recently it was revealed that the car had been modified and the back seat was quite a bit higher than is normal for that model, and the original bullet trajectory analysis was therefore inaccurate.
A system that in some context has an inheritable genotype that influences its phenotype.
I add the context part so we can say a virus is alive if the context of host cells is present, and otherwise not. Similar to how we are alive in the context of being on the Earth's surface, but not on the Sun.
The name sprint comes from rugby, and just refers to what the team would be doing together to succeed (sprinting to the other end of the field with the ball).