From the moment the application starts, the @ value is calculated by the number of objects. So, @ 1012 means the 1012nd object created since the application started.
This is not a hashcode identifier.
Here is some evidence: (I say this because I really don't know, but I watched it)
public static void main(String [] args) throws Throwable { Object object = new Object(); Object object1 = new Object(); Integer foo = new Integer(5); Object object2 = new Object(); String str = new String("bar"); System.out.println("code :" + System.identityHashCode(object)); RuntimeException exception = new RuntimeException(); exception.printStackTrace();
Output: Code: 789451787 Code: java.lang.Object@2f0e140b
789451787 = 2f0e140b By the way ...
Exiting IntelliJ Debugger:
static = org.boon.core.MyClass args = {java.lang.String[0]@**97**} object = { java.lang.Object@ **98**} object1 = { java.lang.Object@ **99**} foo = { java.lang.Integer@ **100**}"5" object2 = { java.lang.Object@ **101**} str = { java.lang.String@ **102**}"bar" exception = { java.lang.RuntimeException@ **103**}"java.lang.RuntimeException"
I know this empirically, but I do not know the actual implementation, but I think this is due to such problems:
as3: meaningful identification of the object during debugging .
source share