Quote: "Java has pointers - but they are references."
Sorry, but this is incorrect. Believe to me, I have been many years ago a Java evangelist for IBM Italy, I read much of SUN (now Oracle) documentation, and I ensure that one of the (true) claims of Java was: no more pointers as in C.
I have also programmed commercial software in ANSI C, and I know how a source code may become messy with pointers.
Java has got no pointers, only references and pointer are not references. Maybe we do not agree on terminology, but at least on one thing we should agree: pointers may be modified, references may not modified. The Java sandbox model prevents the users from modifying anything about memory addresses.
I agree that both pointers and references refer to "memory", real memory addresses as in C or C++, or Sandbox memory addresses in bytecode bases languages.
I am sure that you have a lot of experience, but me too
, so we could continue this discussion for months...anyway we can stay at ease with our own ideas and live happily