Sun Microsystems, Inc

JDK Contents

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.

  1. Internationalization
    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.
  2. 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).
  3. 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.
  4. JavaBeansTM
    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.
  5. Networking enhancements
    Support for selected BSD-style socket options in the java.net base classes. With JDK 1.1, Socket and ServerSocket are non-final, extendable classes. New subclasses of SocketException have been added for finer granularity in reporting and handling network errors. The class MulticastSocket moves from sun.net to java.net. Also includes general performance improvements and bug fixes.
  6. 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.
  7. 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.
  8. 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 polymorphism.
  9. 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 format.
  10. Reflection
    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.
  11. 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.
  12. 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.
  13. 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.
  14. Performance Enhancements
  15. Miscellaneous


Copyright © 1996 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, CA 94043-1100 USA. All rights reserved.