The only way to do this is to use your own Java virtual machine and add this functionality. Of course, the code you would write would not be in Java, but in the language in which the virtual machine is implemented. Gemstone used this approach some time ago for its database engine.
Today's object databases (I am working on one.) Do not. It’s much easier to simplify bytecode to track access to fields and use reflection or injection methods to turn objects into some kind of serialized form. It's not bad. If you want to support a query, you must work with individual field values to index them.
It would be simply impossible for us to maintain a virtual machine for all the platforms on which we want to work. We also could not convince serious customers to rely on their entire (banking) application on the virtual machine that we are setting up.
If you are seriously interested in creating a Java VM-based solution: It used to be an interesting Java research project for orthogonal transparent resilience called the Forest. You can find old documents or even source code.
If you are looking for another language for directly deriving “objects” from memory: C ++ will allow you to do this. In C ++, there are several old object databases that use this approach. ... but hey, this crazy stuff using page errors to load objects. These object databases created a bad image. Hope we get it back soon.
source share