ich meinte auch nicht den compiler. dessen arbeit ist ja was anderes. aber compiler meint auch, daß die notwendigen routinen in die ausführbare datei eingebunden werden, und steht daher im sprachgebrauch für die services der systemumgebung.
Ich weiß nicht, was Du in diesem Zusammenhang unter "notwendigen routinen" verstehst. Ich vermute, Du meinst all die "Funktionen", die in Java für das Reference-Handling benötigt werden. Wenn Du das meintest, war meine vorherige Antwort richtig: Das macht alles "erst" die VM während des Ladens der Klassen bzw. danach.
diese datailfuselei ist eigentlich völlig uninteressant.
wie ich schon irgendwo erwähnte:
entweder von hand: dann ist idr. von pointern die rede
oder als service: dann spricht man idr. von referenz
die java-vm macht nichts ohne dazu aufgefordert zu werden. sie hat ja kein 'eigenleben'.
also: dort wo du im quelltext irgendwie den compiler nötigst, pointer anzulegen, (referenz) müssen diese ja verwaltet werden. deshalb baut der compiler an diesen stellen aufrufe für die entsprechenden routinen (in der java-vm) ein. diese werden dann zur laufzeit dort ausgeführt.
wo dieser komfort (und sicherheit) nicht vorgesehen ist, muß der speicher selbst verwaltet werden. dort gibts dann die üblichen programmabstürze.