NOTE: the product described in this section is no longer generally available, but can be made available on an as-is, exception basis for customers still supporting a legacy OS/2 install base. Please contact Golden Code Development.

Promotional materials referencing this product may contain out-of-date information.

Update: What's new in Golden Code J2SE 1.4.1_07?
The latest release of the Golden Code® Run Time Environment (RTE) and Software Development Kit (SDK) for the Java (TM) 2 Platform Standard Edition 1.4.1_07 provides the following enhancements over previous versions.
  • The code is refreshed to the latest Sun fix level of 1.4.1_07.
  • OJI plugin support for both VisualAge C++ and GCC builds of Mozilla. This includes all versions of Mozilla starting with 1.4 and later. The prior OJI plugin only supported the VisualAge C++ builds which include Mozilla 1.4, Mozilla 1.4.1 and the IBM Web Browser 2.02.
  • Support for all versions of Warp v4, including versions with no fixpack or fixpacks prior to fixpack 13. Prior versions of the JVM only support FP13 and later. Warp v3 is not supported at this time. This support can be provided for customers willing to fund the required development.
  • Support for both the 16-bit and 32-bit TCPIP stacks. This includes the TCPIP 4.0 (16-bit stack) included in Warp v4 as well as the TCPIP 4.1 and above (32-bit stacks). Prior versions of the JVM only supported the 32-bit stacks in TCPIP 4.1 and above.
  • JSound now provides a shared sound implementation. This means that using Java Sound (in both the plugin as well as regular Java applications) will no longer take or require exclusive access to the sound device. As such, the GCD JVM is now a model citizen in regards to sharing the sound device with other applications. Prior JVM versions provided an exclusive mode sound implementation that inhibited system sounds and the use of sound in Java applets or applications with other OS/2 native applications that required sound.
  • Major DBCS improvements. This includes the addition of a complete Input Method implementation, support and testing on Simplified Chinese, Japanese and Korean NLS versions and many DBCS related fixes. The DBCS implementation is nearly complete (especially in Swing and the base J2SE) with the exception the AWT where the support in the native controls is not well tested. Complete testing and support of DBCS including all AWT native controls can be provided for customers willing to fund the required development.
  • JVMSTAT and VisualGC tool support. These are "AS IS" tools provided by Sun to visually inspect a running JVM's internal status, with a special focus on statistics and heap/garbage collection. These tools can be invaluable for analyzing an application's interaction with the Java heap. These are a very powerful set of tools with minimal production/performance impact. As such they can be used in situations where the other debugging or profiling interfaces cause too much intrusion into the application to be useful. These tools are also very easy to use, so they may be of great value without having to learn a more complicated approach to debugging or analysis.
  • Support for dynamic thread state dumping. Using a new "AS IS" tool from GCD (dumpthreads.exe), one can cause a running JVM to generate a complete thread dump of the state of every thread (native VM threads and Java threads) to the console. All Java threads will display a complete stack trace and the JVM does a deadlock analysis. If the JVM finds a deadlock, additional information is displayed showing the exact threads that are deadlocked, the resources they are waiting for, the thread and specific Java method in the stack trace that owns those resources. With this deadlock analysis, days of debugging can be eliminated as deadlock problems become much more obvious. In addition, this tool can be used on a running JVM without any prior preparation (e.g. no additional -X options to turn on debug). Note that this tool does have limitations as documented in the readme.
  • Process launching options are now provided on a per-JVM basis. This includes foreground/background control and control over window visibility attributes. This is an exclusive feature of the GCD JVM. One now has complete control over how these attributes are set in child processes. Different JVMs on the same system can have a different (global) setting. All child processes launched from the same JVM will inherit the same launching options.
  • Font pathing and processing improvements. The PM_Fonts application in the OS2.INI is now used to create the default font paths which Java2D uses for finding fonts. In addition, new environment variables have been added to allow the user to override this processing in various ways. Safe processing has been added to avoid loading OS/2 fonts that the Sun Java2D font engine cannot handle properly.
  • Printing subsystem improvements. The printing subsystem has been enhanced in the area of options processing, especially in the case of non-US locales. Many print options related defects have been resolved.
  • Additional customization and configuration options. Some new options have been added to the JVM. Examples include an experimental -X option to set the Java to native thread-priority mappings (not for use in production environments), an environment variable to allow operation on pre-Pentium CPUs (not for use in production environments) and a -X option to display the native stack utilization at JVM exit.
  • Improved documentation. A great deal of information has been added to the GCD JVM specific readme files. In addition, a much larger selection of tools documentation is now included with the standard J2SE API JavaDoc.

Why J2SE 1.4?
  • HotSpot(TM) technology on OS/2. This native port of the HotSpot compilers to OS/2 brings Sun's adaptive compilation technology to OS/2. With HotSpot, only the most active "hot spots" in your code are compiled from Java bytecode to machine language, which means the compiler doesn't waste time compiling seldom used code. Two compilers are provided for added flexibility: the client (C1) compiler, which is the default, and the server compiler (C2), which uses a more aggressive compilation policy to trade some additional memory for even faster runtime performance.
  • New I/O support. A new, high performance I/O architecture rivals the I/O performance of native C/C++ applications:
    • Network I/O: a server can handle many more simultaneous connections, since the need to dedicate one thread to every open connection has been eliminated.
    • File I/O: read, write, copy, and transfer operations which are up to twice as fast as the current I/O facilities are included. File locking, memory-mapped files, and multiple, concurrent read/write operations are supported.
  • Java Native Interface improvements. The JNI interface has been enhanced to allow certain data structures to be shared between Java and C code, enabling faster data access.
  • Client improvements
    • JFC/Swing:
      • New Swing components. Spinners, scrollable tabbed panes, indeterminate progress bar controls.
      • Clipboard and drag and drop. Cut, copy and paste are now available across applications, including external OS/2 applications Drag and drop is supported across all Swing components.
      • New API for JavaBean long term persistence.
      • New Preferences API
      • Redesigned focus architecture. Addresses many focus-related bugs.
      • Undecorated frames feature. Permits applications to turn off frame decorations, such as native title bars, system menus, borders, etc.
      • New Print Service API
      • Additional improvements. Accessibility updates, mouse wheel support, etc.
    • Java 2D graphics pipeline architecture rewritten. Overhead of common graphics operations has been reduced significantly for better performance with JFC/Swing.
  • Java Web Start. New feature in release 1.4 which improves deployment for Java applications. Version 1.2_02 is included.
  • Java Plug-in for Mozilla web browser. A full-featured plugin for the latest Mozilla and IBM Web Browser builds, both those built using VisualAge C++ and those built using GCC. Supports the full range of features from graphics, sound, printing and clipboard to the Java console and a fully functional control panel. The plugin has been tested under extremely stressful conditions and it has proven to be very reliable.
  • Improved Debugging Facilities
    • Assertions. An assertions language feature has been added to Java in the 1.4 release (the assert keyword), which enables assertions to be evaluated at runtime, improving code quality.
    • Full speed debugging. This features improves the performance of applications while being debugged and allows longer running applications to be more easily debugged. (Note: Golden Code J2SE 1.4.1 is the only J2SE 1.4 product on OS/2 to support Java source level debugging).
  • Enhanced Troubleshooting and Runtime Information
    • New logging API. This feature simplifies capture of runtime information in a standard manner.
    • Chained exceptions. Developers can record when one exception causes another.
    • Java-level deadlock detection. Helps identify whether an application is in a healthy or deadlocked state.
    • Improved error reporting. More debug information is revealed for crashes which occur in native code.
    • Garbage collection logging. Garbage collection events can now be logged.
  • New security features:
    • Java GSS-API with Kerberos V5
    • Java Certification Path API
    • Support for dynamic security policies
  • Security features previously available as extensions which are now core:
    • Java Authentication and Authorization Service. Allows authentication of users and user, group, or role-based access control.
    • Java Secure Socket Extension. Implements SSL and TLS.
    • Java Cryptography Extension. Encryption framework, including key generation and agreement, and message authentication code algorithms.
  • Connectivity and Data Interchange improvements
    • Built-in XML support. Includes XML parsing facilities and support for XML standards such as SAX 1.0 and 2.0, DOM 1.0 and 2.0, and XSLT support.
    • JDBC 3.0 support. Separate core and optional JDBC components have been consolidated. Enhancements include:
      • Connection pool configuration improvements
      • Statement pooling for pooled connections
      • Description of migration path from Service Provider Interface to J2EE Connector Architecture
    • CORBA. Includes the Portable Object Adapter (POA) ORB to enable object implementations which are portable between ORBs, and which supports objects with persistent identities. Full compliance with CORBA "Interoperable Naming Service" (INS).
    • Java Naming and Directory Interface now includes access to DNS.
    • New URI API.
  • Regular expressions support. A new package, java.util.regex, has been added to provide support for regular expressions for applications which may require text processing and pattern matching for features like word searches, email validation, or XML document integrity.
  • Internationalization
    • Unicode 3.0 support
    • New currency class