devxlogo

Memory Addresses

Memory Addresses

Question:
How do I get the addresses of primitive variables, reference variables, and objects in Java?

Answer:
Unlike systems programming languages like C, Java does not have pointers. Objects are all accessed via references, which can be thought of as safe pointers with no pointer arithmetic. Primitivetypes can only be referenced by value. If Java had pointers, it would be much more difficult, if not impossible, to enforce its security sandbox model because memory could be arbitrarily overwritten through pointer accesses. In addition, the programmer would have to be moreaware of how the garbage collection system worked in order to avoid compromising it through complex cyclic graphs of pointer references.

To summarize, Java was explicitly designed to disallow the explicit addressing of memory.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist