IBM AIX Developer Kit, Java
TM2 Technology
Edition, Version 1.2.2
README
Copyright (c) 1996, 1998, 1999 IBM Corporation.
Contents
Introduction
This release of the IBM AIX Developer Kit, JavaTM
2 Technology Edition, Version 1.2.2 is based on the Sun Microsystems FCS
1.2.2 SolarisTMcode base and the IBM AIX
Developer Kit, JavaTM Technology Edition,
Version 1.1.8. JavaTM software enables
the "write once run anywhere" philosophy to be a reality, which is made easier
by the IBM AIX Developer Kit, JavaTM2 Technology
Edition, Version 1.2.2 special features.
This product is also based in part on the work of the FreeType Project.
For more information about FreeType see
http://www.freetype.org
The IBM AIX Developer Kit, JavaTM2
Technology Edition, Version 1.2.2 Development Team welcomes feedback on this
release. Please visit
http://www.ibm.com/java/jdk/support/ for information on reporting bugs
and any other related correspondence.
Note
The software contained in this release may only be used on AIX Version 4.3.3
or later. It is not supported, and will not work, on earlier versions of the
AIX operating system. Please see AIX fixes for further
details of requirements on the AIX operating system for this release.
This README file is part of a release and is applicable only to that
particular release. Please ensure that you have the README file appropriate
to the release you are using. After installation the response to the command
should be
java full version "J2RE 1.2.2 IBM build ca122-yyyymmdd"
(where yyyymmdd identifies the date of the build)
Features
The IBM AIX Developer Kit, JavaTM2 Technology
Edition, Version 1.2.2 has the following features:
- Fully compatible with Sun's Java 2 version 1.2.2 language, enabling
"Write Once Run Anywhere".
- Performance enhancements to make running Java programs even faster.
- Utilises the IBM Tokyo Research Labs optimising Just In Time (
JIT) compiler version 3.5.
- Utilises pthreads on the AIX operating
system.
- "Handle-less" object model.
- Fast, lightweight monitors.
- Thread-local heap.
- Java Plugin.
- Java Communications API 2.0.
- Support for the new European Union currency, the Euro.
- Better scaling support for large numbers of threads and large numbers
of file handles.
- Support for display in the sk_SK
locale.
Installation
The IBM AIX Developer Kit, JavaTM2 Technology
Edition, Version 1.2.2 is made available by IBM via the World Wide Web. The
complete release comprises several installp image files (packages). Each installp
image file or package contains several related filesets. The packages may
be installed using the installp command or more easily using the smit or
smitty system management tools.
The full set of packages (installp image files) for this release is as follows:
The fileset names in the above packages are:
*Where $LANG
is any of the following locales:
DE_CH |
De_CH |
de_CH |
DE_DE |
De_DE |
ES_ES |
Es_ES |
es_ES |
FR_BE |
Fr_BE |
fr_BE |
FR_CA |
Fr_CA |
fr_CA |
Fr_CH |
fr_CH |
FR_CH |
FR_FR |
Fr_FR |
fr_FR |
IT_IT |
It_IT |
it_IT |
JA_JP |
Ja_JP |
ja_JP |
KO_KR |
ko_KR |
PT_BR |
Pt_BR |
pt_BR |
SV_SE |
Sv_SE |
sv_SE |
ZH_CN |
Zh_CN |
zh_CN |
ZH_TW |
Zh_TW |
zh_TW |
The software will be installed in the directory:
Set up your PATH environment variable to
refer to the new installation:
export PATH=/usr/java_dev2/jre/sh:/usr/java_dev2/sh:$PATH
Please note that these elements of PATH
have changed from the previous IBM AIX Developer Kit, Java
TM Technology Edition, Version 1.1.x releases. If the
bin directories are used instead of sh
directories, then "cannot find application home" errors will occur.
Verification
To help ensure that the verification process behaves consistently; first
perform the following:
If you issue the command:
it should respond with the following output:
java full version "J2RE 1.2.2 IBM build ca122-yyyymmdd"
(where yyyymmdd identifies the date of the build)
Once verification is complete, logon again and review any values you may
have assigned to these variables for possible conflicts with the new installation.
Unless .hotjava already existed, executing
the appletviewer will create a directory called
.hotjava in your home directory. Issuing the command:
should confirm this.
Just In Time (JIT) compiler
The IBM Just In Time (JIT) compiler is included in this release and is now
enabled by default. The JIT compiler is a performance mechanism that speeds
up execution of Java programs by compiling class files into native machine
code.
To disable the JIT compiler, set the JAVA_COMPILER
environment variable to "NONE". This can
be done in one of the following ways:
For the Korn shell:
export JAVA_COMPILER=NONE
For the Bourne shell:
For the C shell:
setenv JAVA_COMPILER NONE
The JAVA_COMPILER setting can be overridden
from the command line using the -Djava.compiler
option, which enables you to override the default or the environment variable
settings. For example, to switch the JIT compiler off:
java -Djava.compiler=NONE <other params>
or to switch the JIT compiler on:
java -Djava.compiler=jitc <other params>
The current JIT compiler version is v3.5.
Note: If JAVA_COMPILER="" or
-Djava.compiler="" then the JIT compiler
will be switched off. If JAVA_COMPILER
is set but set to nothing, for example:
then the default JIT compiler is switched on. The default JIT compiler
will always be the latest version.
AIX Native threads
Scaling support
For maximum threads (with JIT) try setting the command
line parameter -ss32k as the minimum stack
size (-ss default value is
256K and can be as small as 16K.
A smaller setting allows for a larger number of threads). For example:
java -ss32k <other params>
For maximum file descriptors, use the command line statement
"ulimit", for example:
or "chuser",for example:
chuser nofiles=3000 some_user_name
to increase the limit ("ulimit -a" shows
the current limit).
Large Programming Model support
The JVM of The IBM AIX Developer Kit, JavaTM
2 Technology Edition, Version 1.2.2 supports the large program model. For
more details on the large program model, see:
The 1.2.2 JVM's launcher executables (java
, java_g, jre
and jre_g) are built to use 5 segments
of data heap (i.e. maxdata has been set to 0x50000000).
If you launch a JVM from within your application, via JNI invocation
API, it may be best to use a similar memory model.
There are 3 ways to enable your application to support the large program
model:
- You can patch the binary executable with the following shell command
which allows the program "app" to access up to 8 segments (where each segment
is 256MB):
/usr/bin/echo '\0200\0\0\0'|dd of="app"
bs=4 count=1 seek=19 conv=notrunc
Using values of '\0120\0\0\0' or '\0100\0\0\0" would allow the use
of 5 or 4 segments of data heap, respectively.
- You can link the program with the -bmaxdata:0x80000000
flag.
- For AIX 4.3.3.10 or later, you can override the maxdata setting for
an executable with the LDR_CNTRL environment
variable:
export LDR_CNTRL=MAXDATA=0x80000000
If your application uses a lot of functions like
shmat() and mmap(), or if you attach
shared memory to fixed addresses in your application, you may need to release
some of the 5 segments in Java which have been originally allocated for
the data heap.
To reduce the number of segments allocated for data heap in Java from
5 segments to a smaller number of segments, you can either patch the
java (and java_g and
jre and jre_g) executables using
echo and dd
as shown above, or (at AIX 4.3.3.10 and above) use the
LDR_CNTRL environment variable.
JNI Compatibility
Please note that the specification of JNI has changed slightly from 1.1
to 1.2. In particular, the "penv" argument of JNI_CreateJavaVM and AttachCurrentThread
has changed from (JNIEnv **) to (void **).
Because of incompatibility between the IBM AIX Developer Kit, Java
TM2 Technology Edition, Version 1.2.2 and some system defined
types, compilation of JNI code requires that the compiler use the flag
_AIX43. This flag is defined by default in
/etc/ibmcxx.cfg. But, if you are using a version of
xlc prior to v3.6.4 then you will need to add
_AIX43 to /etc/xlC.cfg or use
-D_AIX43 as a compilation command line option. You should also ensure
that you are building whilst in the correct IBM AIX Developer Kit, Java
TM2 Technology Edition, Version 1.2.2 environment.
When executing a JNI program (e.g., an executable that creates and initialises
a JVM and then runs .class files on that JVM), you should be sure that the
CLASSPATH is set-up correctly to enable
the JVM to find your class files. If you modify the Java
TM2 boot class path, then you should be sure to include the
IBM AIX Developer Kit, JavaTM2 Technology
Edition, Version 1.2.2 files necessary to run your applications.
This product has made use of AIX 4.3.3 extensions to enable faster and
more efficient execution without impacting non-Java applications.
The launchers, and other programs in this release, will use these extensions
automatically, but their use by another program requires that it is linked
with an additional AIX binder option ("-bM:UR"
). If you develop a JNI program that creates and attaches to the JVM in
this and future releases, then this binder option is required.
A side-effect of this requirement is that such JNI executable programs,
including third-party software packages and those built for previous Java
software releases on AIX, that were built without this binder option are
NOT compatible with the JVM in this release.
Compatibility of an executable program can be verified using
The stdout output will show the modtype to be
"UR" .
A script file (convertJNI) is shipped
in the directory /usr/java_dev2/sdk/sh.
This script will help you to convert the modtype to
UR in the optional header of your JNI executable programs without
having to recompile the code.
The IBM AIX Developer Kit, JavaTM2
Technology Edition, Version 1.2.2 uses an advanced IBM technology called Mixed
Mode Interpreter (MMI) which significantly reduces the start up time of the
JVM. The MMI and Just In Time (JIT) compiler make use of internal calling
conventions and SIGTRAP signals that may make debugging of JNI programs using
dbx more difficult.
The IBM AIX Developer Kit, JavaTM2
Technology Edition, Version 1.2.2 handles various AIX
signals. Where signal handlers are installed by JNI invocation API applications
prior to launching the JVM, the JVM will attempt to chain to the existing
handlers when receiving unexpected signals.
Java threads created by the IBM AIX Developer Kit, Java
TM2 Technology Edition, Version 1.2.2 uses the POSIX
(R) pthreads model supported on AIX 4.3.3. Currently this is
on a 1 to 1 mapping with the kernel threads. When developing a JNI program,
it may be advisable to use this mapping if creating pthreads in your own program.
This can be controlled using the following environment setting:
Note: the old-style native interface is no longer supported.
JDBC-ODBC Bridge
The IBM AIX Developer Kit, JavaTM2 Technology
Edition, Version 1.2.2 includes a JDBC-ODBC bridge. The bridge assumes that
your ODBC driver can support concurrency and therefore you are expected to
provide locking in your application if necessary.
To use the JDBC-ODBC Bridge, you need to set up your own ODBC driver
to work with the target database. You should only set up the JDBC-ODBC bridge
after you have successfully tested your ODBC driver. Check the following
website to obtain information about ODBC drivers for your
DB2 Universal database or for
non IBM databases. The ODBC driver will typically be in libodbc.a in
/usr/lib. This library will be imported
during the time when the JDBC-ODBC Bridge library
libJdbcOdbc.a is loaded at run time.
The Bridge is expecting member libodbc.o
in libodbc.a. Check the member name in
your libodbc.a using the following command:
If your libodbc.a has a different member
name for libodbc.a, for example,
odbc.so, then perform the following operations after saving your
original libodbc.a in a backup directory.
To extract and rename the member, then do the following:
ar -p libodbc.a odbc.so > libodbc.o
To add the libodbc.o member to
libodbc.a, then do the following:
ar -v -r libodbc.a libodbc.o
Finally, to delete the odbc.so member from
libodbc.a.
ar -v -d libodbc.a odbc.so
There are some example programs in the demo directory.
Enhanced BigDecimal class
This release of the IBM AIX Developer Kit, JavaTM
2 Technology Edition, Version 1.2.2 provides an enhanced
BigDecimal class (com.ibm.math.BigDecimal
), which is provided as an alternative to the java.math.BigDecimal
class. The new class (and its supporting MathContext
class) is fully implemented and exploits the java.lang.Comparable
interface, which is used for sorting in the Java 2 language.
If you plan to or already use the BigDecimal
class and wish to use the enhanced BigDecimal
class then use the import statement:
instead of the statement:
No other change to your existing code need be done.
The new class is automatically available in
/usr/java_dev2/jre/lib/rt.jar.
RMI over IIOP
Also packaged with this release is an extension to support RMI over IIOP.
This allows RMI applications to communicate using the IIOP protocol and interoperate
with CORBA applications written in any language.
For further details of this support, please see
/usr/java_dev2/docs/rmi-iiop/readme.html.
JAAS
Also packaged with this release is the Java Authentication and Authorization
Service ( JAAS ) standard extension which provides Principal-based authorization
on authenticated identities.
For further details of this extension, please see /usr/java_dev2/docs/JAAS/readme.jaas.ibm,
after installing the Java_dev2.ext.jaas
fileset.
Java Plugin
The Java Plugin for AIX should offer the same level of features as the latest
Java Plugin for the Solaris operating system. This plugin has been specifically
designed for this release, and will not work with earlier Java 1.1.x releases
for AIX. In this release, the Java Plugin for AIX JDK 1.2.2 has been updated
to the level of the Java Plugin that shipped in AIX JDK 1.3 for improved reliability.
The AIX install for the Java Plugin now creates symbolic link
(javaplugin.a) in
/usr/netscape/communicator/plugins, under the assumption that is
where Netscape for AIX is installed. The real javaplugin.a file is in
/usr/java_dev2/jre/bin. Because of the latest update,
the Java Plugin no longer requires a change to the
LIBPATH.
You can alter the properties of the Java Plugin via the control panel, which
can be run as either an applet under the plugin or as a standalone Java application.
To run the applet, load the page /usr/java_dev2/jre/lib/JavaPluginControlPanel.html
in your web browser. To launch the Java application, run the shell script
/usr/java_dev2/jre/sh/JavaPluginControlPanel.
Note: this shell script has been moved from /usr/java_dev2/jre/lib
to /usr/java_dev2/jre/sh in this refresh.
In addition, the following six files have been intentionally removed from
the package (last three replaced with zero length files):
/usr/java_dev2/jre/bin/java_vm_native
/usr/java_dev2/jre/bin/libfakesol.a
/usr/java_dev2/jre/bin/libjavaplugin_moz5.a
/usr/java_dev2/jre/bin/java_vm_native_g
/usr/java_dev2/jre/bin/libfakesol_g.a
/usr/java_dev2/jre/bin/libjavaplugin_moz5_g.a
The Java Plugin for AIX was designed to work with Netscape 4.5 or above
and will not load with earlier versions of the Netscape browser that shipped
with the AIX operating system. In addition, if you are using a version of
the Netscape browser other than an IBM "i" version (such as Netscape 4.76i),
you will need to patch that version with AIX specific fixes available at
http://aix.software.ibm.com/aix/efixes/netscape/
Javacores
In the unfortunate event of a core dump in your application when using
JDK 1.2.2, you will get a javacore text file in addition to the core file.
The javacore file has a filename of
the format of: javacore<process id>.<time>.txt. The <time> is
the return value from the time() subroutine at the time of core dump
so each javacore file will not be overwritten as for core files.
The location of the javacore file will be determined as follows:
1) If the environment variable IBM_JAVACOREDIR refers to a writable
directory, then the javacore file is written to that directory
2) Otherwise, if the current working directory is writable, the javacore
file is written there.
3) Otherwise, if the environment variable TMPDIR refers to a writable
directory, then the javacore file is written to that directory
4) Otherwise, the javacore file is written to the "/tmp" directory
The location of the javacore file is written to standard error as a full
pathname and is also appended, with a date/time stamp to the file
"/tmp/javacore_locations". Basic file locking is used to avoid buried
updates of this file.
If the javacore cannot be opened for some reason, the information will be
written to standard error.
The javacore file provides information of the java program at the time of
the core dump. To study JNI native code, you will still need to use the
core file.
Signals
The Java 1.2.2 Virtual Machine (JVM) uses a small number of signals internally.
In addition, signal handlers are set for a number of other signals, mainly
to allow generation of diagnostic information when major failures occur.
The signals used internally are:-
SIGTRAP (signal 5) is used by the JIT
as part of a specialised performance technique
SIGUSR2 (signal 31) is used in JIT compiled
code
SIGJVM1 (signal 40) is used for thread
synchronisation, e.g. at GC time
Signals which are usually trapped and will generate
javacore and core, but for which
JVM handling may be suppressed by setting the environment variable
DISABLE_JAVADUMP=true or setting the "reduce signal usage" command
line option (-Xrs) are:-
Signals which are usually trapped and will generate
javacore and core, but for which
JVM handling may be suppressed by setting the environment variable
DISABLE_JAVADUMP=true are:-
SIGQUIT (signal 3) is, at present, usually
handled and will generate a javacore (but
not a core) and then allow the JVM to continue.
This can, again, be suppressed by DISABLE_JAVADUMP=true
or -Xrs.
SIGPIPE (signal 13) is ignored.
At this release of the JVM, our signal handlers will "chain" to pre-existing
handlers after performing their action. If the pre-existing signal handler
returns, our signal handlers will generate core files if this would normally
be their behaviour. The SIGJVM1,
SIGUSR2 and SIGTRAP handlers are
slightly different - SIGTRAP is never chained,
SIGJVM1 and SIGUSR2
are chained only when it is clear that the JVM should not be handling the
signal. If the JVM believes that it generated the
SIGJVM1 or SIGUSR2 signal, then
it will not chain to another handler.
At present pre-existing handlers will not be reinstated when the JVM exits.
Other people's code (JNI) may safely supercede most of our signal handlers
(which are set up in JVM initialisation, e.g. CreateJavaVM), albeit with
some possible loss of diagnostics. Exceptions are the handlers for
SIGJVM1, SIGUSR2 and
SIGTRAP. These signals must be passed to the JVM. If your
code really must handle SIGJVM1,
SIGUSR2 or SIGTRAP, you should ensure
that your handlers chain to ours - but it would be better not to try to handle
these signals.
The use of SIGTRAP by the JIT may cause
significant problems in using debuggers such as
dbx with the JVM.
Java Communications API
This release includes the Java Communications API 2.0 standard extension
which allows Java applications to access RS232 serial ports and IEEE 1284
parallel ports.
The Java_dev2.ext.commapi fileset provides
serial and parallel port definitions and communications drivers.
For API details see
http://www.javasoft.com/products/javacomm/
AIX fixes
The minimum supported AIX version is 4.3.3. You can check the current level
of bos.rte.libc by using the command:
The Java_dev2.rte package (listed
above) requires the following AIX base level filesets for all locales. If
they are not already installed, they can be found on the AIX 4.3.3 GA installation
media.
In addition, IBM AIX Developer Kit, JavaTM
2 Technology Edition, Version 1.2.2 requires the following APARs be applied
to your AIX system for all locales (with the above base level filesets already
installed):
PTF# |
APAR# |
Fileset |
VRMF |
U467183 |
IY03993 |
bos.adt.include |
4.3.3.1 |
U467290 |
IY06365 |
bos.net.tcp.client |
4.3.3.3 |
U467478 |
IY04069 |
bos.sysmgt.serv_aid |
4.3.3.2 |
U467572 |
IY05690 |
X11.base.lib |
4.3.3.2 |
U467473 |
IY05697 |
X11.adt.motif |
4.3.3.1 |
U467558 |
IY05741 |
X11.base.rte |
4.3.3.2 |
U467459 |
IY05989 |
X11.Dt.rte |
4.3.3.3 |
U467557 |
IY05989 |
X11.motif.mwm |
4.3.3.1 |
U467458 |
IY05990 |
X11.motif.lib |
4.3.3.2 |
U467616 |
IY05990 |
X11.compat.lib.X11R5 |
4.3.3.2 |
U467283 |
IY06171 |
bos.rte.libpthreads |
4.3.3.3 |
U467444 |
IY06171 |
bos.adt.prof |
4.3.3.3 |
U467222 |
IY06121 |
X11.Dt.lib |
4.3.3.2 |
And ONE of the following two
APARs, depending on whether your system is a Uniprocessor (bos.up) or Multiprocessor
(bos.mp): |
U467275 |
IY06625 |
bos.up |
4.3.3.3 |
U467531 |
IY06625 |
bos.mp |
4.3.3.3 |
The above APARs for all locales are not on the AIX 4.3.3 GA installation
media, but can be obtained from IBM if they are not already on your AIX
system. The easiest way to upgrade is using the
FixDist tool, available from (see
http://service.software.ibm.com/cgi-bin/support/rs6000.support/downloads
).
The Java_dev2.rte package (listed
above) requires the following AIX base level filesets for specific locales
or for DBCS locales. If they are not already installed, they can be found
on the AIX 4.3.3 GA installation media.
bos.loc.iso.zh_TW 4.3.3.0
In addition, IBM AIX Developer Kit, JavaTM
2 Technology Edition, Version 1.2.2 requires the following APARs be applied
to your AIX system for specific locales or DBCS locales (with the above
base level filesets already installed):
PTF# |
APAR# |
Fileset |
VRMF |
U469092 |
IY06121 |
bos.loc.iso.th_TH |
4.3.3.1 |
U469091 |
IY06121 |
bos.loc.iso.Vi_VN |
4.3.3.1 |
U467545 |
IY05472 |
bos.loc.iso.zh_TW |
4.3.3.1 |
The above APARs, for specific or DBCS locales, are not on the AIX 4.3.3
GA installation media, but can be obtained from IBM if they are not already
on your AIX system. The easiest way to upgrade is using the
FixDist tool, available from (see
http://service.software.ibm.com/cgi-bin/support/rs6000.support/downloads
).
Printing problems
If you have difficulty with print operations, try increasing the size of
the default file system used for print spooling to be larger than the printed
postscript file size.
appletviewer
There is a known problem with running the IBM AIX 1.2.2 Java
TM appletviewer for the first time without specifying any input
parameters. Appletviewer will show its command syntax and not return to the
command prompt. To avoid this problem, inspect the
.hotjava/properties file under your home directory for the line
If you do not have the .hotjava sub directory,
then create the .hotjava sub directory under
your home directory. If you do not have the properties file, then create one
with the specified appletviewer.version
line. If you have a properties file from a previous Java version, then edit
the properties file and change the appletviewer.version
line to match the line above.
After you have made the changes to the .hotjava/properties
file, then you should be able to run the appletviewer.
Euro support
Support for the new European Union currency, the Euro, is included in this
release of the IBM AIX Developer Kit, JavaTM
2 Technology Edition, Version 1.2.2. Platform-level support is required
to make use of this, as follows.
On AIX 4.3.3 (and upwards) the Euro is supported via the new UTF8 locales.
This is the primary mechanism for Euro support on the AIX operating system.
Applications can then make use of the Euro symbol, which looks like a C with
an = superimposed on it and can be created using Unicode character '\u20AC'.
Euro variants of Java software locales, which provide the appropriate currency
formatting, can also be used by Java applications. The environment variable
LC_MONETARY is currently not used by
this Java implementation, the default is always the national currency.
For more information on IBM's position on the Euro currency, see
http://www.ibm.com/euro.
Font sizes on Japanese, Chinese, and Korean
locales
If you have problems with the size of fonts for Japanese, Chinese and Korean
locales, then try modifying your environment as follows to increase their
size:
As before, you can set the variable to any offset, under any locale. The
offset is added to the point size requested by the Java code, and it can
be positive or negative. The default is now 0
for all locales.
Note: use of this variable is discouraged, and it may be removed
at a later date.
HPROF Performance Profiler and JVMPI
The Java Virtual Machine Profiling Interface (JVMPI) has been extended to
include profiling in the IBM JIT. These additional definitions are defined
in jvmpi.h.
In the IBM AIX Developer Kit, JavaTM
2 Technology Edition, Version 1.2.2, CPU times are not able to be recorded
through the HPROF profiler tool. This restriction also applies to any tools
that make use of the JVMPI. As a result, CPU times will be returned as 0
from the JVMPI and displayed as NaN in the HPROF output.
IBM intends to fully support the JVMPI and these temporary restrictions
are planned to be lifted in a future release of the IBM AIX Developer Kit,
JavaTM2 Technology Edition or earlier.
JDB debugger
Color problems
Text problems
Certain performance enhancements have been added to improve text draw operations
in the case of simple text. If you experience problems with text or with fonts,
try disabling this performance enhancement by setting the environment variable
export JAVA2D_USEAWTFONTS=0
Signature problems
In Java applications involving java.security.Signature#sign() , signing performance
may be an issue.
This has been found to be related to garbage collection of the java.secure.SecureRandom
class. If the class is repeatedly GC'ed and then reloaded, startup times for initialisation
of the random number generator can make a significant impact on performance.
There are three ways to correct the problem:
- Specify the -noclassgc option that is java -noclassgc classname
(This may cause a slow memory leak in the heap if classes are recycled, e.g. in Web servers)
- Increase the heap size via the -Xms and -Xmx command line options
(This may or may not be successful)
- Retain a java.security.SecureRandom object in the user application, thereby inhibiting GC of the class
(This, though not elegant in programming terms, is probably the most effective "fix")
Supported locales
The TRANSLATIONS column indicates the locales that have native language
messages for javac and appletviewer.
Support for the new UTF8 locales has been added, and so has support
for IBM-1252 locales, either of which is required to make use of the Euro
currency functionality.
There is a known problem with "Yen" and backslash characters having
the same value for locale Ja_JP. This problem
will be resolved when the codepage support for
Cp943c ( Ja_JP.IBM-943) and
Cp942c ( Ja_JP.IBM-942) in AIX is
fixed.
LOCALE |
NAME |
ENCODING |
TRANSLATIONS |
Albanian |
SQ_AL |
UTF8 |
|
|
SQ_AL |
UTF8 |
|
Arabic |
AR_AA |
UTF8 |
|
|
AR_AA |
UTF8 |
|
Bulgarian |
bg_BG |
ISO8859-5 |
|
|
BG_BG |
UTF8 |
|
Byelorussian |
BE_BY |
UTF8 |
|
Catalan |
ca_ES |
ISO8859-1 |
|
|
ca_ES |
IBM-1252 |
|
|
CA_ES |
UTF8 |
|
|
Ca_ES |
IBM-850 |
|
Chinese (Simplified) |
zh_CN |
GB2312 |
yes |
|
Zh_CN |
GBK |
yes |
|
ZH_CN |
UTF8 |
yes |
Chinese (Traditional) |
Zh_TW |
Cp950 |
yes |
|
zh_TW |
Cp964 |
yes |
|
ZH_TW |
UTF8 |
yes |
Croatian |
hr_HR |
ISO8859-2 |
|
|
HR_HR |
UTF8 |
|
Czech |
cs_CZ |
ISO8859-2 |
|
|
CS_CZ |
UTF8 |
|
Danish |
da_DK |
ISO8859-1 |
|
|
Da_DK |
IBM-850 |
|
|
DA_DK |
UTF8 |
|
Dutch (Belgium) |
nl_BE |
ISO8859-1 |
|
|
nl_BE |
IBM-1252 |
|
|
Nl_BE |
IBM-850 |
|
|
NL_BE |
UTF8 |
|
Dutch |
nl_NL |
ISO8859-1 |
|
|
nl_NL |
IBM-1252 |
|
|
NL_NL |
UTF8 |
|
|
Nl_NL |
IBM-850 |
|
English (Great
Britain) |
en_GB |
ISO8859-1 |
yes |
|
EN_GB |
UTF8 |
yes |
|
En_GB |
IBM-850 |
yes |
English (United
States) |
en_US |
ISO8859-1 |
yes |
|
EN_US |
UTF8 |
yes |
|
En_US |
IBM-850 |
yes |
Estonian |
ET_EE |
UTF8 |
|
Finnish |
fi_FI |
ISO8859-1 |
|
|
fi_FI |
IBM-1252 |
|
|
FI_FI |
UTF8 |
|
|
Fi_FI |
IBM-850 |
|
French (Belgium) |
fr_BE |
ISO8859-1 |
yes |
|
fr_BE |
IBM-1252 |
yes |
|
FR_BE |
UTF8 |
yes |
|
Fr_BE |
IBM-850 |
yes |
French (Canada) |
fr_CA |
ISO8859-1 |
yes |
|
FR_CA |
UTF8 |
yes |
|
Fr_CA |
IBM-850 |
yes |
French (France) |
fr_FR |
ISO8859-1 |
yes |
|
fr_FR |
IBM-1252 |
yes |
|
FR_FR |
UTF8 |
yes |
|
Fr_FR |
IBM-850 |
yes |
French (Switzerland) |
fr_CH |
ISO8859-1 |
yes |
|
FR_CH |
UTF8 |
yes |
|
Fr_CH |
IBM-850 |
yes |
German |
de_DE |
ISO8859-1 |
yes |
|
de_DE |
IBM-1252 |
yes |
|
DE_DE |
UTF8 |
yes |
|
De_DE |
IBM-850 |
yes |
German (Switzerland) |
de_CH |
ISO8859-1 |
yes |
|
DE_CH |
UTF8 |
yes |
|
De_CH |
IBM-850 |
yes |
Greek |
el_GR |
ISO8859-7 |
|
|
EL_GR |
UTF8 |
|
Hebrew |
HE_IL |
UTF8 |
|
Hungarian |
hu_HU |
ISO8859-2 |
|
|
HU_HU |
UTF8 |
|
Icelandic |
is_IS |
ISO8859-1 |
|
|
IS_IS |
UTF8 |
|
|
Is_IS |
IBM-850 |
|
Italian |
it_IT |
ISO8859-1 |
yes |
|
it_IT |
IBM-1252 |
|
|
IT_IT |
UTF8 |
yes |
|
It_IT |
IBM-850 |
yes |
Japanese |
ja_JP |
IBM-eucJP |
yes |
|
Ja_JP |
IBM-932 |
yes |
|
Ja_JP |
IBM-943 |
yes |
|
JA_JP |
UTF8 |
yes |
Korean |
ko_KR |
KSC5601 |
yes |
|
KO_KR |
UTF8 |
|
Latvian |
LV_LV |
UTF8 |
|
Lithuanian |
LT_LT |
UTF8 |
|
Macedonian |
mk_MK |
ISO8859-5 |
|
|
MK_MK |
UTF8 |
|
Norwegian |
no_NO |
ISO8859-1 |
|
|
NO_NO |
UTF8 |
|
|
No_NO |
IBM-850 |
|
Polish |
pl_PL |
ISO8859-2 |
|
|
PL_PL |
UTF8 |
|
Portuguese (Brazil) |
pt_BR |
ISO8859-1 |
yes |
|
PT_BR |
UTF8 |
yes |
|
Pt_BR |
IBM-850 |
yes |
Portuguese |
pt_PT |
ISO8859-1 |
|
|
pt_PT |
IBM-1252 |
|
|
PT_PT |
UTF8 |
|
|
Pt_PT |
IBM-850 |
|
Romanian |
RO_RO |
UTF8 |
|
Russian |
ru_RU |
ISO8859-5 |
|
|
RU_RU |
UTF8 |
|
Serbian Cyrillic |
SR_SP |
UTF8 |
|
Serbian Latin |
SH_SP |
UTF8 |
|
Slovak |
SK_SK |
UTF8 |
|
|
sk_SK |
ISO8859-2 |
|
Slovene |
SL_SI |
UTF8 |
|
Spanish |
es_ES |
ISO8859-1 |
yes |
|
es_ES |
IBM-1252 |
yes |
|
Es_ES |
IBM-850 |
yes |
|
ES_ES |
UTF8 |
yes |
Swedish |
sv_SE |
ISO8859-1 |
yes |
|
Sv_SE |
IBM-850 |
yes |
|
SV_SE |
UTF8 |
yes |
Thai |
th_TH |
TIS-620 |
|
TH_TH |
UTF8 |
|
Turkish |
TR_TR |
UTF8 |
|
Ukrainian |
UK_UA |
UTF8 |
|
Vietnamese |
VI_VN |
UTF8 |
|
Correspondence
Please see the following web page for information on reporting bugs and
other correspondence:
Other links