Value types
The goal of this effort is to update the Java Virtual Machine, and, if possible, the Java language, to support small, immutable, identity-less value types. Currently, if you instantiate a new Object, it is given an identifier by the JVM, which allows the variable instance to be referenced.
For example, if you create a new integer, new Integer(42), a variable with the identity of java.lang.Integer@68f29546, but the value of 42, the value of this variable will never change, and that's all we, as developers, typically care about. However, the JVM doesn't really know that, so it has to maintain the identity of the variable, with all of the overhead that entails. According to Goetz, that means every instance of this object will require ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access