A java-vm-poi or
get-host-java-virtual-machine returns the host Java virtual machine when it is called in a dynamic library that was delivered with a call setup-deliver-dynamic-library-for-java, and the dynamic library was loaded by Java. In all other circumstances it returns
If the initialization of the Java interface is synchronous, which is determined the asynchronous argument of setup-deliver-dynamic-library-for-java and is the default, then during the call to the deliver startup function (the first argument ot deliver),
get-host-java-virtual-machine still returns
nil. It is guaranteed to return the correct value only when the function argument of setup-deliver-dynamic-library-for-java (if any) is called. In the asynchronous case,
get-host-java-virtual-machine always returns the correct value.
The result jvm, when it is not
nil, is an object of type java-vm-poi.
get-host-java-virtual-machine can find the virtual machine because Java calls
JNI_OnLoad with it. If a non-Java code calls
JNI_OnLoad with something else, then
get-host-java-virtual-machine will return that something else.
When init-java-interface is called without a specified Java virtual machine, it uses
get-host-java-virtual-machine to try to find the current one.
LispWorks User Guide and Reference Manual - 20 Sep 2017