The Java Native Interface provides hooks where an application can register callback functions for three kinds of events:
These callbacks are registered with the Java VM, not with individual Java objects. These two types of callbacks are not related and can be used independently.
Which text messages the Java VM produces is controlled by VM options. In JNIPort, these options are configured in the JavaRuntimeSettings before starting the JVM. For example, if you want to monitor which classes the Java VM loads from which files, you would use the option '-verbose:class'.