IIRC, the 1.8 inch drives were designed to take a beating. I think they had circuitry that would actively protect the platters from the drive heads when jostled(?)
You say, "you will know that it'll happen at that exact moment". I'm curious what you mean by this.
Do you mean that the user will know? Well sure, that's the pain point to avoid in this case. Anyone who has tried to quit certain versions of various browsers after a long session with many tabs, etc. will know this pain when closing a window. Server side applications can have similar issues.
Or do you mean the code will "know"? That is, the code will need to predict, at runtime, that a code path will be expensive and choose a memory release strategy based on some criteria?
Or do you mean the designer of the code will know, and avoid RC before implementing?
Honest question, I'd like to understand your perspective. Thanks.
But what if my application is say, a diagramming GUI where the user can create many nested items. When they delete a million items by removing a top level item, how are you going to avoid a pause if using single threaded synchronous RC? Per object determinism doesn't mean systemic determinism on a dynamic graph.
Yes. And you could use Lombok to do the same before that.
(Though I'm one of the weirdos who likes Java in it's explicitness, which is related directly to its verbosity. I like reading code where I can see what the local variable types are.)
Yeah you can't apply C++ style resource management (specifically, calling close() in destructors or expecting cascading destructors to trigger in sequence) to GC languages. Object lifetime in a GC languages does not generally align with desired resource lifetimes. You have to be explicit. This often means creating your own public close methods when wrapping a resource in a class.
I'm not personally advocating for this, but some argue for water conservation by taking a https://en.m.wikipedia.org/wiki/Navy_shower which involves only about 2 minutes of time in the water.
Even in 100 year old brick houses (like the 1920s craftsman I once owned), the brick is almost always non-structural. Only in old urban commercial buildings do you typically find structural bricks.
Yeah I'm a MacOS fanboy, but it really irked me when they got rid of the (hard to find but extremely useful) log output during OS updates a few major versions back. It saved me a lot of time once when it showed that it was backing up files that I didn't care about. Now there is no option to view the log during installation.
I've been fortunate to never run into any failed updates (and I've done many) but as they remove features like this and 32 bit support, I'm looking at other options for my next machine.
https://www.vintageisthenewold.com/now-you-can-play-myst-on-...