Reading the JEP, isn’t StableValue about JIT constants?
In .NET it’s just 'static readonly'.
The basic feature set is at-most-once thread-safe initialization of values, which can then enjoy the same constant folding and other JIT optimizations one would get from `static final`, but can be initialized at any point during the program's run.
Non-goals
It is not a goal to provide Java language support for declaring stable values.
Hmmm
From context, I would infer that this means they are not changing the Java language itself. It’s a feature expressed through the existing language, like as a library feature. I could be wrong though.
Yes you're correct, the idea is that they're not adding any keywords or bytecodes, just some new standard lib APIs that will get some special treatment by the JVM.