If I want dynamically initialized classes, then I probably want class initialization barriers in place. Otherwise everything will have to be statically initialized. However, statically initializing everything is a bit simpler. The only other consideration is dynamically initialized classes at reflection time. But I might not want to force the load of too many classes especially if not many are used. That will increase load time and reduce complexity and code will run faster with less checks being done to see if classes got initialized. Let me think about Class.forName(). So if it is for a class which has already been loaded that is fine, if it is for a class that needs initialization then we will have to do the initialization step for them. Lots of software might do a class check to see if something really exists before it even tries to call the stuff. So I do at least have the pure virtual call.


I am probably going to need some kind of check if I want to keep things a bit looser when called. So is that like wrapping all field accesses into special methods? Would be complex really and would slow things down. So not sure the route to take.


I rather want to distract myself for a bit and refactor the bootstrap for a bit.