Ist eine Noop-JVM unter dem Java-Speichermodell gültig?Java

Java-Forum
Guest
 Ist eine Noop-JVM unter dem Java-Speichermodell gültig?

Post by Guest »

Ich versuche, das Kapitel „Speichermodell“ aus der Java-Sprachspezifikation zu verstehen, aber die ersten beiden Absätze verwirren mich bereits:

A Das Speichermodell beschreibt bei einem gegebenen Programm und einem Ausführungs-Trace dieses Programms, ob es sich bei dem Ausführungs-Trace um eine legale Ausführung des Programms handelt. Das Speichermodell der Java-Programmiersprache untersucht
jeden Lesevorgang in einem Ausführungs-Trace und prüft, ob der von diesem Lesevorgang beobachtete Schreibvorgang gemäß bestimmten Regeln gültig ist.
Das Speichermodell beschreibt mögliche Verhaltensweisen eines Programms. Einer
Implementierung steht es frei, jeden beliebigen Code zu erzeugen, solange
alle resultierenden Ausführungen eines Programms ein Ergebnis erzeugen, das
vom Speichermodell vorhergesagt werden kann .

Angenommen, ich implementieren eine Noop-JVM, die für jedes Programm eine leere Ausführung erzeugt. Wenn das Speichermodell die Ausführungen analysiert, indem es „jeden Lesevorgang in einem Ausführungs-Trace untersucht“, sollte es offensichtlich zu dem Schluss kommen, dass alle Ausführungen gültig sind. Wenn es keine Lesevorgänge gibt, sind trivialerweise alle Lesevorgänge gemäß allen Regeln gültig, einschließlich der in der Spezifikation genannten „bestimmten Regeln“.
Bedeutet dies, dass meine Noop-JVM vollkommen gültig ist? Implementierung nach dem Java Memory Model, oder übersehe ich etwas?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post