Allora, partiamo con una piccola premessa: PER QUEL CHE NE SO IO!
Detto questo, possiamo cominciare la discussione dicendo che, intanto, anche in C il passaggio dei parametri è solo per riferimento; il passaggio per valore è un camuffamento xkè, in realtà, viene passato il valore per riferimento.. In definitiva, Java e C utilizzano la stessa tecnica per il passaggio dei parametri con l'unica differenza che in C l'operazione deve essere esplicitata attraverso gli operatori di indirezione.
A questo punto veniamo alla parte evidenziata
In quel caso al metodo viene passato l'intero riferimento, non solo il suo
indirizzo, con la conseguente possibilità di poterne mutare l'indirizzamento.
Cosa rappresenta il riferimento se non l'indirizzo dell'area di memoria in cui è contenuto il valore da passare? Del resto non riuscirei ad immaginare cosa altro possa rappresentare questo riferimento.. In conclusione, a mio modesto avviso, non noto differenze "teoriche" tra il passaggio in C ed in Java (se non quelle elencate precedentemente)..
Una cosa è evidente: in C aumentano i rischi di esporre un programma a BOF (Buffer Over Flow) con l'uso poco consapevole del linguaggio stesso, ma ciò è dovuto, per l'appunto, alla caratteristica intrinseca del C che permette un "doppio" tipo di indirizzamento... Del resto il problema può ampiamente essere bypassato con opportuni accorgimenti.
L'argomento virus, worm e via discorrendo non dipende esclusivamente dal programma (sia esso scritto in C o in Java), ma un considerevole ruolo lo svolge il sistema operativo e qui non entro nel merito della questione perchè ci sarebbe da scrivere una vagonata di roba, e forse anke di più!
Per quanto riguarda il riferimento in java, beh, se ho capito bene la tua domanda, all'atto della dichiarazione associ a quell'elemento un'indirizzo in memoria quindi, la risposta alla tua domana è si, ogni elemento, una volta dichiarato, viaggia sempre parallelamente al suo riferimento in memoria, MA, e c'è un ma grande quanto una casa, fin tanto che l'elemento non viene istanziato quell'area di memoria non contiene il valore dell'elemento cui è legata!
P.s. Adesso la faccio io a te una domanda: dove l'hai presa quella frase?