IBM SDK, Java Technology Edition, Version 7 Release 1: Linux User Guide NLS Problem Determination
Total Page:16
File Type:pdf, Size:1020Kb
IBM SDK, Java Technology Edition Version 7 Release 1 Linux User Guide IBM IBM SDK, Java Technology Edition Version 7 Release 1 Linux User Guide IBM Note Before you use this information and the product it supports, read the information in “Notices” on page 685. Copyright information This edition of the user guide applies to the IBM SDK, Java Technology Edition, Version 7 Release 1, for all supported Linux architectures, and to all subsequent releases, modifications, and fix packs, until otherwise indicated in new editions. This guide applies to the following programs: v IBM 32-bit SDK for Linux on Intel architecture, Java Technology Edition, Version 7 Release 1 v IBM 32-bit Runtime Environment for Linux on Intel architecture, Java Technology Edition, Version 7 Release 1 v IBM 64-bit SDK for Linux on AMD64/EM64T architecture, Java Technology Edition, Version 7 Release 1 v IBM 64-bit Runtime Environment for Linux on AMD64/EM64T architecture, Java Technology Edition, Version 7 Release 1 v IBM 32-bit SDK for Linux on System i and System p architecture, Java Technology Edition, Version 7 Release 1 v IBM 32-bit Runtime Environment for Linux on System i and System p architecture, Java Technology Edition, Version 7 Release 1 v IBM 64-bit SDK for Linux on System i and System p architecture, Java Technology Edition, Version 7 Release 1 v IBM 64-bit Runtime Environment for Linux on System i and System p architecture, Java Technology Edition, Version 7 Release 1 v IBM 31-bit SDK for Linux on System z architecture, Java Technology Edition, Version 7 Release 1 v IBM 31-bit Runtime Environment for Linux on System z architecture, Java Technology Edition, Version 7 Release 1 v IBM 64-bit SDK for Linux on System z architecture, Java Technology Edition, Version 7 Release 1 v IBM 64-bit Runtime Environment for Linux on System z architecture, Java Technology Edition, Version 7 Release 1 Note: The SDK and Runtime Environment for some platforms are available only as part of an IBM product or service. Portions © Copyright 1997, 2018, Oracle and/or its affiliates. © Copyright IBM Corporation 2011, 2018. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Preface .............. vii The RMI implementation ........ 134 Thread pooling for RMI connection handlers 136 Chapter 1. Product overview ...... 1 Understanding distributed garbage collection 136 Debugging applications involving RMI .... 137 Introduction .............. 2 The ORB ............... 137 IBM Software Developers Kit (SDK) ..... 2 CORBA .............. 138 Runtime Environment .......... 5 RMI and RMI-IIOP .......... 138 | Small Footprint JRE ........... 6 Java IDL or RMI-IIOP? ......... 139 J9 Virtual Machine (JVM) ......... 12 RMI-IIOP limitations .......... 139 What's new .............. 13 Examples of client–server applications .... 139 First release ............. 13 Using the ORB ............ 144 Service refresh 1 ............ 15 How the ORB works .......... 145 Service refresh 2 ............ 19 Additional features of the ORB ...... 153 Service refresh 3 ............ 21 The Java Native Interface (JNI) ....... 156 Service refresh 4 ............ 25 Overview of JNI ........... 157 Packed object evaluation technology ...... 26 The JNI and the Garbage Collector ..... 158 Packed objects ............ 26 Copying and pinning.......... 162 Conventions and terminology ........ 72 Handling exceptions .......... 164 Other sources of information ........ 73 Synchronization ........... 164 Accessibility .............. 74 Debugging the JNI .......... 165 JNI checklist............. 167 Chapter 2. Understanding the | Graphics processing unit (GPU) ....... 167 components ............ 75 | System requirements .......... 168 The building blocks of the IBM Virtual Machine for Java ................. 75 Chapter 3. Planning......... 169 Java application stack .......... 76 Migrating from earlier releases of the IBM SDK, Components of the IBM Virtual Machine for Java 77 Java Technology Edition .......... 169 Memory management ........... 79 Version compatibility ........... 172 Overview of memory management ..... 79 Supported environments ......... 172 Allocation .............. 81 Detailed description of global garbage collection 84 Chapter 4. Installing and configuring Generational Concurrent Garbage Collector... 93 Balanced Garbage Collection policy ..... 94 the SDK and Runtime Environment .. 175 Metronome Garbage Collection policy .... 101 Upgrading the SDK ........... 175 How to do heap sizing ......... 102 Installing from an InstallAnywhere package ... 175 Interaction of the Garbage Collector with Completing an attended installation ..... 176 applications ............. 104 Completing an unattended installation .... 177 How to coexist with the Garbage Collector .. 105 Interrupted installation ......... 178 Frequently asked questions about the Garbage Known issues and limitations ....... 179 Collector .............. 108 Configuring the SDK and Runtime Environment 180 Class loading ............. 111 Setting the path ........... 180 The parent-delegation model ....... 112 Setting the class path .......... 180 Namespaces and the runtime package .... 113 Updating your SDK or runtime environment for Custom class loaders .......... 113 Daylight Saving Time changes....... 181 Class data sharing ............ 114 Uninstalling the SDK and Runtime Environment 181 The JIT compiler ............ 115 JIT compiler overview ......... 115 Chapter 5. Developing Java How the JIT compiler optimizes code .... 116 applications ............ 183 Frequently asked questions about the JIT Using XML .............. 183 compiler .............. 118 Migrating to the XL-TXE-J ........ 185 The AOT compiler............ 119 Securing Java API for XML processing (JAXP) Networking .............. 120 against malformed input ........ 187 Java Sockets over Remote Direct Memory XML reference information ........ 188 Access (JSOR) ............ 120 Debugging Java applications ........ 192 | The jVerbs library ........... 131 Java Debugger (JDB) .......... 193 Java Remote Method Invocation ....... 134 © Copyright IBM Corp. 2011, 2018 iii Determining whether your application is running Chapter 7. Running Java applications 249 on a 32-bit or 64-bit JVM ......... 193 The java and javaw commands ....... 249 Porting Java applications to 64-bit systems ... 194 Obtaining version information....... 249 General porting considerations ...... 194 Specifying Java options and system properties 251 Porting native code from 32-bit to 64-bit systems 197 Standard options ........... 251 JNI considerations ........... 198 Globalization of the java command ..... 252 Usage of the JNI interface ........ 200 Working with the LD_LIBRARY_PATH environment JVMPI and JVMDI interfaces ....... 200 variable ............... 253 How the JVM processes signals ....... 201 The Just-In-Time (JIT) compiler ....... 253 Signals used by the JVM ........ 201 Disabling the JIT ........... 254 Linking a native code driver to the Enabling the JIT ........... 254 signal-chaining library ......... 203 Determining whether the JIT is enabled ... 254 Writing JNI applications .......... 204 Specifying a garbage collection policy ..... 255 Supported compilers .......... 204 Garbage collection options ........ 255 JNI compatibility ........... 205 More effective heap usage using compressed JNI runtime linking .......... 205 references ............. 256 Example of using Linux shared libraries ... 206 Pause time ............. 257 | Writing Java applications that use a graphics Pause time reduction .......... 258 | processing unit ............. 207 Environments with very full heaps ..... 259 | The CUDA4J application programming interface 207 Using the Metronome Garbage Collector ... 259 | The com.ibm.gpu application programming Enabling Java Sockets over Remote Direct Memory | interface .............. 208 Access (JSOR) ............. 265 | Writing Java applications that use the jVerbs library 209 | Enabling JSOR communication between a Java | jVerbs programming terms and artifacts ... 210 | application and a native application ..... 267 | Implementing client and server communications | Enabling application processing on a graphics | with the verbs interface ......... 212 | processing unit ............. 269 | Implementing server and client communications | Running Java applications on the Little Endian | with the endpoint interface ........ 222 | (LE) Runtime Environment ......... 270 Support for thread-level recovery of blocked Support for bidirectional data ........ 270 connectors .............. 226 Special Arabic characters ........ 271 CORBA support ............ 226 Known limitations........... 273 System properties for tracing the ORB .... 227 Euro symbol support ........... 274 System properties for tuning the ORB .... 228 Fallback font configuration files ....... 274 Java security permissions for the ORB .... 228 Configuring large page memory allocation ... 274 ORB implementation classes ....... 229 System resource limits and the ulimit command 276 RMI over IIOP ............. 229 RMI-IIOP Programmer's Guide ...... 230 Chapter 8. Performance ....... 279 Implementing the Connection Handler Pool for Class data sharing between JVMs ...... 279 RMI ................ 236 Overview of class data sharing ...... 279 Developing Java applications ........ 237 Class data sharing command-line options ... 281 Support for XToolkit ........... 237 Creating, populating, monitoring, and deleting a Support for the Java Attach API ....... 237