May I suggest that in this animation, references in C++ are to be
represented like pointers in C++, but with a different color.
The java ones might be represented as having a tendril out to the
corresponding object where the C++ ones have a "house" number.
I remember wishing desperately for some 3D animations when I was
learning organic chemistry. Playing with little springs and wooden
balls was so clumsy.
Years later on late night TV was a series of shorts showing a great
many quite complex organic chemistry reactions animated. It was a snap
to follow what was happening, even if I could not remember it all.
The people who design languages typically are extremely familiar with
what is going on under the hood. They have a mental model of the
internals of a computer. They will never tell it to you. I have no
idea how people who have no assembler background can even begin to
think about programs with no mental picture of what is happening
inside. Perhaps they imagine sheets of paper for each class and
object with places to write down the values.
I also realise my mental images are nothing like the actual invisible
slosh of electrons. There is nothing to see inside.
My mental model is shaped by my early exposure to watching binary
patterns on an oscilloscope as the calculations progressed on my old
LGP-30.
I used to think mostly about the registers, like some giant abacus.
Another image was the system clock like the slave driver in some Roman
tireme, where everybody jumped on the beat of the clock/drum.
Sometimes I use a mental image like a jungle, where everything is tied
to nearly everything else by vines. Your job is to try to ignore the
underbrush to see the overall pattern of important connections.
Queues, particularly queues of ready tasks are like people lining up
at a doctor's office, ready for their shot at the important man.
Transaction processing is like an assembly line.
Another analogy I use is plumbing. You want the facilities available
where needed, and you want the piping accessible when needed, but you
don't want the pipes running through the middle of the living room
obscuring the view of the fireplace.
Another analogy I use is housekeeping. Some coding you do to keep the
computer happy. Other code is key to the algorithm. The key is to
keep the busywork out of the way of the crucial code so that it does
not obscure it. Ideally, your tools should automatically generate the
housekeeping, much the way CSS style sheets generate precise HTML
layout.