HP-UX Programmer's Guide for Java 2
Table Of Contents
- Table of Contents
- 1 Introduction
- 2 HotSpot Technology Tools and Commands
- 3 Configuration for Java™ Support
- 4 Performance and Tuning
- 5 Measuring System Performance
- 6 Using Threads
- 7 Using Signals
- 8 Using Java™ 2 JNI on HP-UX
- 9 Expanding Memory
- Determine your requirements
- Memory layout under HP-UX 11.0 (PA-RISC only)
- Additional memory available under HP-UX 11i (PA-RISC only)
- Allocating physical memory and swap in the Java™ heap
- Useful key command-line options for allocating memory
- Application-dependent considerations using large heap size HP-UX 11i PA-RISC
- Expanding heap size in native applications on PA-RISC HP-UX 11.11 and later releases
- Expanding heap size in native applications on Integrity HP-UX 11.23 and later releases
- Expanding heap size in HP-UX PA-RISC
- Expanding heap size in HP-UX Integrity
- 10 Diagnosing Memory Leaks
- A JDK/JRE 6.0.n and 7.0.n Usage Notes
- Using Java 2 JNI on HP-UX
- Garbage collection
- Asian TrueType fonts and Asian locales
- Date/Time methods defaults
- Profiling
- Compatibility with previous releases
- Java Cryptography Extension (JCE) policy files
- Configuring the Java Runtime Plug-In
- CLASSPATH environment variable
- Java Web Start technology usage
- Upgrading from a previous Java Web Start version
- IPv6 support
- Allocation Site Statistics and Zero Preparation -Xverbosegc
- JDK 6.0.04 flags
- GC log-rotation support
- NUMA collector enhancements
- ThreadDumpPath support
- Garbage-First garbage collector (-XX:+UseG1GC)
- jmap, jinfo, and jstack tools included in JDK 6.0.03
- Additional Java Web Start documentation
- B JDK/JRE 5.0.n Usage Notes
- Using Java 2 JNI on HP-UX
- Garbage collectors: Parallel and Concurrent Mark Sweep
- Allocating physical memory and swap in the Java heap
- Asian TrueType fonts and Asian locales
- Date/Time methods defaults
- Profiling
- Closing a socket (PA-RISC only)
- Compatibility with previous releases
- Java Cryptography Extension (JCE) policy files
- Allocation Site Statistics and Zero Preparation -Xverbosegc
- IPv6 support on Java 5.0
- GC log-rotation support in 5.0
- ThreadDumpPath support in 5.0
- Dynamically loaded libraries in 5.0
- Performance improvement for String.intern()
- Configuring the Java Runtime Plug-In
- CLASSPATH environment variable
- Java Web Start technology usage
- C SDK/RTE 1.4.2.n Usage Notes
- Removing support for unwanted architectures in the JRE
- Support for dynamic thread local storage (TLS)
- Signal Chaining functionality
- Using Java 2 JNI on HP-UX
- HotSpot JVM options
- Garbage collectors: Parallel and Concurrent mark sweep
- Allocating physical memory and swap in the Java heap
- Asian TrueType fonts and Asian locales
- Date/Time methods defaults
- Profiling
- Closing a socket when accept or read is pending (PA-RISC) - new patch information!
- Compatibility with previous releases
- Runtime Plug-In usage and configuration
- GC log-rotation support
- ThreadDumpPath support
- D Additional Resources
- Index

8 Using Java™ 2 JNI on HP-UX
NOTE: Regarding the examples contained in this chapter, do not use +D64 with Java™
1.3 based releases on Integrity. Beginning with SDK 1.4.1 you may use +D64.
Using Java™ 2 JNI on HP-UX
The Java™ Native Interface, typically referred to as JNI, is a standard native method
interface that allows Java™ to call up native libraries written in other languages. It also
allows you to load the JVM into native applications to integrate Java™ functionality
into native applications. JNI offers a JVM-independent programming interface to native
programs that enables developers to write a single native method library version that
will be binary compatible with all JVMs on a given platform.
For native code support, the native library must be in SHLIB_PATH. HP suggests that
you place your native libraries in
<applicationdirectory>/lib/<architecturedirectory>
When developing applications, if you are using native methods, you must compile
them into a shareable native library, for example:
<applicationdirectory>/lib/<architecturedirectory>native_threads/foo.sl
The script that invokes the runtime interpreter for your executable should reset the
CLASSPATH and JAVA_HOME environment variables to avoid any conflicts with other
Java™ applications or Java™ runtime versions on your system. You must also include
an installer.
The HP-UX implementation of JNI does not differ significantly from that of the JavaSoft
implementation on Solaris. For more information, see the Java Native Interface for v1.2
and v1.4 , the Java Native Interface for v5.0, or the Java Native Interface: Programmer's
Guide and Specification.
Support for C++ applications built with -AA and -AP options (PA-RISC only)
Java™ supports the -AA and -AP options to build your C++ applications. On HP
Integrity systems, the C++ runtime libraries support -AA and -AP by default. On HP-UX
11.0 or 11.11 PA-RISC, if you are using the ANSI Standard C++ runtime (-AA) option
in an application that loads Java, you need to use the -AA version of libjvm and
libfontmanager. Note that these libraries are provided as a separate download on
the same page from where you download the Java SDK/RTE or JDK/JRE version,
starting at one of the following webpages:
Java™ SDK/RTE 1.4.2
JDK, JRE, and Plug-In 5.0.x Downloads and Documentation
JDK, JRE, and Plug-In 6.0.x Downloads and Documentation
44 Using Java™ 2 JNI on HP-UX