HP-UX Programmer's Guide for Java 2

Table Of Contents
These are the Standard C++ Runtime version of these libraries:
./jre/lib/PA_RISC2.0/libjvm_v2.sl
./jre/lib/PA_RISC2.0W/libjvm_v2.sl
./jre/lib/PA_RISC2.0/libfontmanager_v2.sl
./jre/lib/PA_RISC2.0W/libfontmanager_v2.sl
A native application must be either linked with, or must dynamically load, these
versions of the Java™ libraries if your C++ application is compiled using -AA.
The Standard C++ version of the JVM libraries are supported for PA_RISC2.0 and
PA_RISC2.0W architectures only.
If the JVM is invoked through the standard Java™ driver, then use the -V2 option to
use the Standard C++ runtime.
For example:
java -V2 <javaprog>
Dereferencing NULL pointers
With the Java™ 2 HotSpot VM, JNI that incorrectly dereferences NULL will result in a
SIGSEGV, and Java™ NULL checks can be performed without having to emit explicit
to do so. (This is different than the Java™ 1.1 behavior.) With Java™ 2 HotSpot, the
signal is caught, and a null pointer exception is thrown if the offending instruction was
within the VM (compiled, or in the interpreter). This method may uncover hidden
programming errors.
Also, if you are including the HP-UX Runtime Environment for the Java™ 2 Platform
in an application and bypassing our standard driver, for example by making calls to
JNI_CreateJavaVM from inside the application, link the application with the -z
option. The -z option will indicate that dereferencing NULL pointers in the application
should generate a SIGSEGV instead of the traditional behavior of returning zero. If you
do not, you will not be able to take advantage of implicit null pointer checks; null
pointer checks will have to be explicit, potentially degrading performance. Linking
with -z may also expose existing but quiet bugs in an application. This is because the
SIGSEGVs were not being generated before.
Using Native Methods on HP-UX
The sections below detail the differences that you need to be aware of when using
native methods on HP-UX. Examples are provided for Java™ 1.3 and 1.4 that illustrate
the capabilities for implementation in C and C++.
Using Java™ 2 JNI on HP-UX 45