JAVA_HOME=/opt/jdks/zulu17 ./gradlew build
Experiment exploring Java memory model effects on different hardware. Various implementation of lock-free datastructures
SeqLock in Java, it mostly there to study the Java memory model. SeqLock is a type of reader/writer synchronisation structure , it is a useful data structures if read are far more frequent than they are written. The implementation allows for a single writer thread and many reader threads. Writer thread is wait-free , while the Reader thread(s) are lock-free. Reader might fail to aquire a consistent view, and should retry.
There are several implementations, including some broken versions , this is there to study and understand the Java memory model .
included are Jcstress verification test to ensure correctness of the implementation
-XX:+UnlockDiagnosticVMOptions
-XX:+TraceClassLoading
-XX:+LogCompilation
-XX:+PrintAssembly
-XX:PrintAssemblyOptions=intel
-XX:LogFile=jitBrokenlogfile.log