As to C++ calling Java, I have two pieces of advice -- one is to call the function to check if you already have a VM before trying to create a VM -- this is needed when running from the Matlab or other environments or sandboxes that fire up VMs. The other piece of advice is that if you keep a handle to a Java object as a data field inside a C++ object, you gotta, gotta have a g