JDK 1.1 New Feature Summary
These are the new features in version 1.1 of the JDK. All of the APIs listed here are part of the core Java API, which means they will eventually become available on all platforms where the Java Virtual Machine is present (except embedded systems).
To get information about old version 1.0 features, see the documentation available on our documentation website and in our printed books.
Allows the development of localizable applets. Enhancements include the display of UNICODE characters, a locale mechanism, localized message support, locale-sensitive date, time, time zone and number handling, collation services, character set converters, parameter formatting, and support for finding character/word/sentence boundaries.
- Security and Signed Applets
The Java Security API is designed to allow developers to incorporate
both low-level and high-level security functionality into their Java applications.
This includes cryptography, key management and access control. The first release of Java Security in JDK 1.1 will contain a subset of this functionality, including APIs for digital signatures, message digests, key management, access control lists, and utilities. JDK 1.1 will also provide the ability to sign classes and other data (such as images and sounds).
- AWT Enhancements
Enhancements are aimed at solving some major AWT deficiencies
with a strong focus on quality and performance. The AWT enhancements
will include the beginnings of a richer infrastructure for larger-scale GUI
development, including APIs for printing, easier/faster scrolling, popup
menus, clipboard (copy/paste), cursors per component, a delegation-based
event model, imaging and graphics enhancements, and more flexible font
support for internationalization. Additionally, the Windows (Win32)
version of AWT has been completely re-written for improved speed, quality,
and consistency with the other platforms.
The JavaBeans APIs define a software component model for Java allowing
third party ISVs
to create and ship Java components that can be composed together into
applications by end users.
- Networking enhancements
Support for selected BSD-style socket options in the
base classes. With JDK 1.1,
are non-final, extendable classes. New subclasses of
have been added for finer granularity in reporting and handling network errors. The class
MulticastSocket moves from
java.net. Also includes general performance improvements and bug fixes.
- IO Enhancements
The I/O package has been extended with character streams, which are like byte
streams except that they contain 16-bit Unicode characters rather than
eight-bit bytes. Character streams make it easy to write programs that are not
dependent upon a specific character encoding, and are therefore easy to
internationalize. Nearly all of the functionality available for byte streams
is also available for character streams.
- JAR Files
JAR (Java Archive) is a platform-independent file format that aggregates many files into one. Multiple Java applets and their requisite components (
.class files, images and sounds) can be bundled in a JAR file and subsequently downloaded to a browser in a single HTTP transaction, greatly improving the download speed. The JAR format also supports compression, which reduces the file size, further improving the download time. In addition, the applet author can digitally sign individual entries in a JAR file to authenticate their origin. It is fully backward-compatible with existing applet code and is fully extensible, being written in Java.
- Remote Method Invocation
RMI enables the programmer to create distributed Java-to-Java
applications, in which the methods of remote Java objects can be
invoked from other Java virtual machines, possibly on different hosts.
A Java program can make a call on a remote object once it obtains a
reference to the remote object, either by looking up the remote object
in the bootstrap naming service provided by RMI or by receiving the
reference as an argument or a return value. A client can call a remote
object in a server, and that server can also be a client of other
remote objects. RMI uses Object Serialization to marshal and unmarshal
parameters and does not truncate types, supporting true object-oriented
- Object Serialization
Object Serialization extends the core Java Input/Output classes with
support for objects. Object Serialization supports the encoding of
objects and the objects reachable from them into a stream of bytes and
the complementary reconstruction of the object graph from the stream.
Serialization is used for lightweight persistence and for
communication via sockets or Remote Method Invocation (RMI). The
default encoding of objects protects private and transient data, and
supports the evolution of the classes. A class may implement its own
external encoding and is then solely responsible for the external
Enables Java code to discover information about the fields, methods and
constructors of loaded classes, and to use reflected fields, methods, and
constructors to operate on their underlying counterparts on objects, within
security restrictions. The API accommodates applications that need access to
either the public members of a target object (based on its runtime class) or
the members declared by a given class.
- JDBCTM - Java Database Connectivity
Java Database Connectivity is a standard SQL database access interface,
providing uniform access to a wide range of relational databases. It also provides a common base on which higher level tools and interfaces can be built. This comes with an "ODBC Bridge" (except on Mac 68K). The Bridge is a library which implements JDBC in terms of the ODBC standard C API.
- Inner Classes
Provides a simpler syntax for the creation of adapter classes.
An adapter class is a class that implements an interface (or class) required by
an API, and delegates the flow of control back to an enclosing "main" object. The
new language features apply to Java the concepts of lexical scoping and
block structure found in many languages.
- New Java Native Method Interface
A standard programming interface for writing Java native methods. The primary goal is binary compatibility of native method libraries across all Java virtual machine implementations on a given platform.
- Performance Enhancements
- Interpreter loop in assembly code on Win32 and Solaris/Sparc.
- Non-contiguous heap support on Mac.
- Monitor speed-ups.
- Garbage collection of classes.
- AWT peer class re-write for Win32.
- JAR (Java Archive) bundling of resources for a single HTTP transaction
- Byte, Short and Void Classes - Bytes and shorts are accommodated as wrapped numbers by adding new classes
Short. The abstract class
Number gets two new concrete methods:
shortValue; the default implementations of these use
intValue method. Also includes a new class
Void that is an uninstantiable placeholder class.
- BigInteger and
BigDecimal Classes -
BigIntegers are immutable arbitrary-precision integers, which provide
analogs to all of Java's primitive integer operators, and all relevant
static methods from java.lang.Math. Additionally, BigIntegers provide
operations for modular arithmetic, GCD calculation, primality testing,
prime generation, single-bit manipulation, and a few other odds and ends.
BigDecimals are immutable, arbitrary-precision signed decimal numbers,
suitable for monetary calculations. BigDecimals provide operations for
basic arithmetic, scale manipulation, comparison, format conversion
The @deprecated tag - Used in documentation comments for unambiguously marking classes, methods and fields that have been
superseded by new APIs. The compiler issues a warning when it processes source code that uses a deprecated API feature.
- Accessing Resource Files - APIs that provide a mechanism for locating resource files in a way that is independent of the location of the resources. For example, this mechanism can locate a resource file whether it is an applet loaded from the net using multiple HTTP connects, an applet loaded using JAR files, or a "library" installed in the CLASSPATH.
- Additions to APPLET Tag (HTML) Enhancements of the <APPLET> tag used in HTML.
Copyright © 1996 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, CA 94043-1100 USA. All rights reserved.