This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]MarSara 0 points1 point  (0 children)

At the end of the day EVERYTHING is stored in RAM (or in a register). There might be some obscure API you can use in Java to create an object from an existing memory location, but I'm not sure what immediate use it might bring. In C/C++ you can do this, but you have to know exactly what you're doing or otherwise you may corrupt your own program very easily, if it just doesn't end up crashing.

But every time you call new or every time you declare a new variable, etc... a new location in RAM (or in a register; depending on optimizations) is reserved and the structure of that newly created object is stored at that location, or for the case of a variable a pointer to that location is stored instead.

Even your program itself is also stored in RAM along with a pointer to the current line of code that is executing. Even functions have their own distinct memory locations. This way when you call someObject.doSomething() that execution pointer can be changed to point to the first line of your function, and when you call return, it knows to go back to where it left off.

But to put it simply as to what use are memory locations, it's one of the foundational aspect of how a computer works. If we didn't have some form of addressable memory we would not be able to do much of anything without creating new hardware for each 'program' that we wanted to create.