NonStop Server for Java 7.0 Programmer's Reference
1 Introduction to NSJ7
NonStop Server for Java 7.0 (NSJ7) provides a Java environment that supports compact, concurrent,
and dynamic portable programs for the NonStop systems. NSJ7 is supported on the NonStop
Open System Services (OSS) environment. NSJ7 uses the NonStop operating system to provide
scalability and program persistence to the Java environment. NSJ7 is based on the Java Platform
Standard Edition (Java SE) 7.0 reference, which is a Java implementation for Solaris. NSJ7 contains
two product components, 32–bit NSJ7 (T2766) and 64–bit NSJ7 (T2866).
NSJ7 like Oracle Java SE 7.0 is a fully compliant headless JDK. This section discusses the following
topics:
• “Features” (page 14)
• “Java HotSpot server virtual machine” (page 15)
• “Java standard edition development kit (JDK)” (page 15)
• “Java naming and directory interface (JNDI)” (page 16)
• “IPv6 support” (page 16)
• “Associated Java based products” (page 16)
Features
NSJ7 provides the following new features, which are applicable for both 32–bit and 64–bit NSJ7:
• Support for 64–bit Java application
Using 64–bit NSJ7, it is possible to develop or port applications that require Java heaps
greater than 1276 MB, which is the limit with 32–bit NSJ7. The theoretical maximum Java
heap available with 64–bit NSJ7 is 484 GB. For more information, see “Managing generation
size” (page 52) and “64–bit process support” (page 63).
NOTE: 64–bit NSJ7 (T2866) cannot be installed as a standalone product.
• Support for nonblocking I/O for regular and non-regular OSS files
NSJ7 uses the new Pthreads library called POSIX User Thread Model (PUT) library. As a result,
NSJ7 provides nonblocking I/O support for both regular and non-regular OSS files. For more
information, see “Pthread library changes” (page 44).
• Support for parallel and CMS GC
NSJ7 supports parallel and CMS GC which provide reduced GC pause times.
64–bit JDK enables you to port or develop large Java applications on NSJ7. If an application
uses large Java heap and serial GC, the application pause time due to GC may be high.
Hence, to reduce application pause time during garbage collection, NSJ7 provides parallel
and concurrent garbage collectors. This implementation differs from other platforms. However,
the functionality remains same. The difference is due to the absence of Kernel threads on
NonStop systems.
On other platforms, Kernel threads allow GC threads to run in parallel on multi core systems.
On Nonstop, in the absence of Kernel threads only one thread runs at any time, and is
managed in the user space by the Pthreads library. As a result, a multi-threaded application
on Nonstop cannot utilize the parallelism in execution offered by multi core systems.
To introduce parallelism in garbage collection, the garbage collector threads are converted
to processes, when parallel and CMS garbage collectors are enabled.
For more information, see “Migrating from serial GC to parallel GC” (page 97).
14 Introduction to NSJ7










