final class NativeLibraryUtil
extends java.lang.Object
A Utility to Call the System.load(String)
or System.loadLibrary(String)
.
Because the System.load(String)
and System.loadLibrary(String)
are both
CallerSensitive, it will load the native library into its caller's ClassLoader
.
In OSGi environment, we need this helper to delegate the calling to System.load(String)
and it should be as simple as possible. It will be injected into the native library's
ClassLoader when it is undefined. And therefore, when the defined new helper is invoked,
the native library would be loaded into the native library's ClassLoader, not the
caller's ClassLoader.