8080901: Replace package.html files with package-info.java in the java.base module

Reviewed-by: lancea, alanb, vinnie
This commit is contained in:
Joe Darcy 2015-05-22 10:45:59 -07:00
parent 4612edcf52
commit 0de6f9f413
39 changed files with 1187 additions and 1549 deletions

View file

@ -0,0 +1,101 @@
/*
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* This package provides methods to read files from a JAR file and to
* transform them to a more compact transfer format called Pack200.
* It also provides methods to receive the transmitted data and expand
* it into a JAR file equivalent to the original JAR file.
*
* <p>
* The {@code pack} methods may be used by application developers who
* wish to deploy large JARs on the web. The {@code unpack} methods
* may be used by deployment applications such as Java Web Start and
* Java Plugin.
*
* <p>
* In typical use, the packed output should be further compressed
* using a suitable tool such as gzip or
* {@code java.util.zip.GZIPOutputStream}. The resulting file (with
* a suffix ".pack.gz") should be hosted on a HTTP/1.1 compliant
* server, which will be capable of handling "Accept-Encoding", as
* specified by the HTTP 1.1 RFC2616 specification.
*
* <p>
* <b>NOTE:</b> It is recommended that the original ".jar" file be
* hosted in addition to the ".pack.gz" file, so that older client
* implementations will continue to work reliably. (On-demand
* compression by the server is not recommended.)
*
* <p>
* When a client application requests a ".jar" file (call it
* "Large.jar"), the client will transmit the headers
* "Content-Type=application/x-java-archive" as well as
* "Accept-Encoding=pack200-gzip". This indicates to the server that
* the client application desires an version of the file encoded with
* Pack200 and further compressed with gzip.
*
* <p>
* The server implementation will typically check for the existence of
* "Large.pack.gz". If that file is available, the server will
* transmit it with the headers "Content-Encoding=pack200-gzip" and
* "Content-Type=application/x-java-archive".
*
* <p>
* If the ".pack.gz" file, is not available, then the server will
* transmit the original ".jar" with "Content-Encoding=null" and
* "Content-Type=application/x-java-archive".
*
* <p>
* A MIME type of "application/x-java-pack200" may be specified by the
* client application to indicate a ".pack" file is required.
* However, this has limited capability, and is not recommended.
*
* <h2> Package Specification</h2>
* Network Transfer Format Specification :<a href="http://jcp.org/en/jsr/detail?id=200">
* http://jcp.org/en/jsr/detail?id=200</a>
*
* <h2> Related Documentation</h2>
* For overviews, tutorials, examples, guides, and tool documentation, please
* see:
* <ul>
*
* <li>
* Jar File Specification :<a href="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html">
* http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html</a></li>
*
* <li>
* Class File Specification: Chapter 4 of
* <em>The Java&trade; Virtual Machine Specification</em>
*
* <li>
* Hypertext Transfer Protocol -- HTTP/1.1 : <a href="http://www.ietf.org/rfc/rfc2616.txt">
* http://www.ietf.org/rfc/rfc2616.txt
* </ul>
*
* <li>
* @since 1.5</li>
*/
package com.sun.java.util.jar.pack;

View file

@ -1,104 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<!--
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
<p>
This package provides methods to read files from a JAR file and
to transform them to a more compact transfer format called Pack200.
It also provides methods to receive the transmitted data and expand
it into a JAR file equivalent to the original JAR file.
<p>
The <tt>pack</tt> methods may be used by application developers
who wish to deploy large JARs on the web. The <tt>unpack</tt> methods may be used
by deployment applications such as Java Web Start and Java Plugin.
<p>
In typical use, the packed output should be further compressed using
a suitable tool such as gzip or <tt>java.util.zip.GZIPOutputStream</tt>.
The resulting file (with a suffix ".pack.gz") should be hosted on a HTTP/1.1
compliant server, which will be capable of handling "Accept-Encoding",
as specified by the HTTP 1.1 RFC2616 specification.
<p>
<b>NOTE:</b> It is recommended that the original ".jar" file be hosted
in addition to the ".pack.gz" file, so that older client implementations
will continue to work reliably.
(On-demand compression by the server is not recommended.)
<p>
When a client application requests a ".jar" file (call it "Large.jar"),
the client will transmit the headers
"Content-Type=application/x-java-archive" as well as "Accept-Encoding=pack200-gzip".
This indicates to the server that the client application desires an version
of the file encoded with Pack200 and further compressed with gzip.
<p>
The server implementation will typically check for the existence of "Large.pack.gz".
If that file is available, the server will transmit it with the headers
"Content-Encoding=pack200-gzip" and "Content-Type=application/x-java-archive".
<p>
If the ".pack.gz" file, is not available, then the server will transmit
the original ".jar"
with "Content-Encoding=null" and "Content-Type=application/x-java-archive".
<p>
A MIME type of "application/x-java-pack200" may be specified by the
client application to indicate a ".pack" file is required.
However, this has limited capability, and is not recommended.
<h2> Package Specification</h2>
Network Transfer Format Specification :<a href="http://jcp.org/en/jsr/detail?id=200">
http://jcp.org/en/jsr/detail?id=200</a>
<h2> Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please
see:
<ul>
<li>
Jar File Specification :<a href="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html">
http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html</a></li>
<li>
Class File Specification: Chapter 4 of
<em>The Java&trade; Virtual Machine Specification</em>
<li>
Hypertext Transfer Protocol -- HTTP/1.1 : <a href="http://www.ietf.org/rfc/rfc2616.txt">
http://www.ietf.org/rfc/rfc2616.txt
</ul>
<li>
@since 1.5</li>
<br><!-- Put @see and @since tags down here. -->
</body>
</html>

View file

@ -0,0 +1,31 @@
/*
* Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes related to creating and configuring secure socket
* factories. These classes are used with the Sun reference
* implementation of the Java Secure Socket Extension (JSSE).
*/
package com.sun.net.ssl;

View file

@ -1,56 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides classes related to creating and configuring secure socket factories.
These classes are used with the Sun reference implementation of the Java
Secure Socket Extension (JSSE).
<!--
<h2>Package Specification</h2>
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
<ul>
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
</body>
</html>

View file

@ -0,0 +1,49 @@
/*
* Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides for system input and output through data streams,
* serialization and the file system.
*
* Unless otherwise noted, passing a null argument to a constructor or
* method in any class or interface in this package will cause a
* {@code NullPointerException} to be thrown.
*
* <h2>Package Specification</h2>
* <ul>
* <li><a href="../../../platform/serialization/spec/serialTOC.html"> Java Object Serialization Specification </a>
* </ul>
*
* <h2>Related Documentation</h2>
*
* For overviews, tutorials, examples, guides, and tool documentation,
* please see:
* <ul>
* <li><a href="../../../technotes/guides/serialization">Serialization Enhancements</a>
* </ul>
*
* @since 1.0
*/
package java.io;

View file

@ -1,52 +0,0 @@
<!--
Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">
Provides for system input and output through data streams,
serialization and the file system.
Unless otherwise noted, passing a null argument to a constructor
or method in any class or interface in this package will cause a
<tt>NullPointerException</tt> to be thrown.
<h2>Package Specification</h2>
<ul>
<li><a href="../../../platform/serialization/spec/serialTOC.html"> Java Object Serialization Specification </a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation,
please see:
<ul>
<li><a href="../../../technotes/guides/serialization">Serialization Enhancements</a>
</ul>
@since 1.0
</body>
</html>

View file

@ -0,0 +1,140 @@
/*
* Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides reference-object classes, which support a limited degree
* of interaction with the garbage collector. A program may use a
* reference object to maintain a reference to some other object in
* such a way that the latter object may still be reclaimed by the
* collector. A program may also arrange to be notified some time
* after the collector has determined that the reachability of a given
* object has changed.
*
*<h2>Package Specification</h2>
*
* A <em>reference object</em> encapsulates a reference to some other
* object so that the reference itself may be examined and manipulated
* like any other object. Three types of reference objects are
* provided, each weaker than the last: <em>soft</em>, <em>weak</em>,
* and <em>phantom</em>. Each type corresponds to a different level
* of reachability, as defined below. Soft references are for
* implementing memory-sensitive caches, weak references are for
* implementing canonicalizing mappings that do not prevent their keys
* (or values) from being reclaimed, and phantom references are for
* scheduling pre-mortem cleanup actions in a more flexible way than
* is possible with the Java finalization mechanism.
*
* <p> Each reference-object type is implemented by a subclass of the
* abstract base {@link java.lang.ref.Reference} class.
* An instance of one of these subclasses encapsulates a single
* reference to a particular object, called the <em>referent</em>.
* Every reference object provides methods for getting and clearing
* the reference. Aside from the clearing operation reference objects
* are otherwise immutable, so no {@code set} operation is
* provided. A program may further subclass these subclasses, adding
* whatever fields and methods are required for its purposes, or it
* may use these subclasses without change.
*
* <h3>Notification</h3>
*
* A program may request to be notified of changes in an object's
* reachability by <em>registering</em> an appropriate reference
* object with a <em>reference queue</em> at the time the reference
* object is created. Some time after the garbage collector
* determines that the reachability of the referent has changed to the
* value corresponding to the type of the reference, it will add the
* reference to the associated queue. At this point, the reference is
* considered to be <em>enqueued</em>. The program may remove
* references from a queue either by polling or by blocking until a
* reference becomes available. Reference queues are implemented by
* the {@link java.lang.ref.ReferenceQueue} class.
*
* <p> The relationship between a registered reference object and its
* queue is one-sided. That is, a queue does not keep track of the
* references that are registered with it. If a registered reference
* becomes unreachable itself, then it will never be enqueued. It is
* the responsibility of the program using reference objects to ensure
* that the objects remain reachable for as long as the program is
* interested in their referents.
*
* <p> While some programs will choose to dedicate a thread to
* removing reference objects from one or more queues and processing
* them, this is by no means necessary. A tactic that often works
* well is to examine a reference queue in the course of performing
* some other fairly-frequent action. For example, a hashtable that
* uses weak references to implement weak keys could poll its
* reference queue each time the table is accessed. This is how the
* {@link java.util.WeakHashMap} class works. Because
* the {@link java.lang.ref.ReferenceQueue#poll
* ReferenceQueue.poll} method simply checks an internal data
* structure, this check will add little overhead to the hashtable
* access methods.
*
* <h3>Automatically-cleared references</h3>
*
* Soft and weak references are automatically cleared by the collector
* before being added to the queues with which they are registered, if
* any. Therefore soft and weak references need not be registered
* with a queue in order to be useful, while phantom references do.
* An object that is reachable via phantom references will remain so
* until all such references are cleared or themselves become
* unreachable.
*
* <a name="reachability"></a>
* <h3>Reachability</h3>
*
* Going from strongest to weakest, the different levels of
* reachability reflect the life cycle of an object. They are
* operationally defined as follows:
*
* <ul>
*
* <li> An object is <em>strongly reachable</em> if it can be reached
* by some thread without traversing any reference objects. A
* newly-created object is strongly reachable by the thread that
* created it.
*
* <li> An object is <em>softly reachable</em> if it is not strongly
* reachable but can be reached by traversing a soft reference.
*
* <li> An object is <em>weakly reachable</em> if it is neither
* strongly nor softly reachable but can be reached by traversing a
* weak reference. When the weak references to a weakly-reachable
* object are cleared, the object becomes eligible for finalization.
*
* <li> An object is <em>phantom reachable</em> if it is neither
* strongly, softly, nor weakly reachable, it has been finalized, and
* some phantom reference refers to it.
*
* <li> Finally, an object is <em>unreachable</em>, and therefore
* eligible for reclamation, when it is not reachable in any of the
* above ways.
*
* </ul>
*
* @author Mark Reinhold
* @since 1.2
*/
package java.lang.ref;

View file

@ -1,147 +0,0 @@
<!--
Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">
Provides reference-object classes, which support a limited degree of
interaction with the garbage collector. A program may use a reference object
to maintain a reference to some other object in such a way that the latter
object may still be reclaimed by the collector. A program may also arrange to
be notified some time after the collector has determined that the reachability
of a given object has changed.
<h2>Package Specification</h2>
A <em>reference object</em> encapsulates a reference to some other object so
that the reference itself may be examined and manipulated like any other
object. Three types of reference objects are provided, each weaker than the
last: <em>soft</em>, <em>weak</em>, and <em>phantom</em>. Each type
corresponds to a different level of reachability, as defined below. Soft
references are for implementing memory-sensitive caches, weak references are
for implementing canonicalizing mappings that do not prevent their keys (or
values) from being reclaimed, and phantom references are for scheduling
pre-mortem cleanup actions in a more flexible way than is possible with the
Java finalization mechanism.
<p> Each reference-object type is implemented by a subclass of the abstract
base <code>{@link java.lang.ref.Reference}</code> class. An instance of one of
these subclasses encapsulates a single reference to a particular object, called
the <em>referent</em>. Every reference object provides methods for getting and
clearing the reference. Aside from the clearing operation reference objects
are otherwise immutable, so no <code>set</code> operation is provided. A
program may further subclass these subclasses, adding whatever fields and
methods are required for its purposes, or it may use these subclasses without
change.
<h3>Notification</h3>
A program may request to be notified of changes in an object's reachability by
<em>registering</em> an appropriate reference object with a <em>reference
queue</em> at the time the reference object is created. Some time after the
garbage collector determines that the reachability of the referent has changed
to the value corresponding to the type of the reference, it will add the
reference to the associated queue. At this point, the reference is considered
to be <em>enqueued</em>. The program may remove references from a queue either
by polling or by blocking until a reference becomes available. Reference
queues are implemented by the <code>{@link java.lang.ref.ReferenceQueue}</code>
class.
<p> The relationship between a registered reference object and its queue is
one-sided. That is, a queue does not keep track of the references that are
registered with it. If a registered reference becomes unreachable itself, then
it will never be enqueued. It is the responsibility of the program using
reference objects to ensure that the objects remain reachable for as long as
the program is interested in their referents.
<p> While some programs will choose to dedicate a thread to removing reference
objects from one or more queues and processing them, this is by no means
necessary. A tactic that often works well is to examine a reference queue in
the course of performing some other fairly-frequent action. For example, a
hashtable that uses weak references to implement weak keys could poll its
reference queue each time the table is accessed. This is how the <code>{@link
java.util.WeakHashMap}</code> class works. Because the <code>{@link
java.lang.ref.ReferenceQueue#poll ReferenceQueue.poll}</code> method simply
checks an internal data structure, this check will add little overhead to the
hashtable access methods.
<h3>Automatically-cleared references</h3>
Soft and weak references are automatically cleared by the collector before
being added to the queues with which they are registered, if any. Therefore
soft and weak references need not be registered with a queue in order to be
useful, while phantom references do. An object that is reachable via phantom
references will remain so until all such references are cleared or themselves
become unreachable.
<a name="reachability"></a>
<h3>Reachability</h3>
Going from strongest to weakest, the different levels of reachability reflect
the life cycle of an object. They are operationally defined as follows:
<ul>
<li> An object is <em>strongly reachable</em> if it can be reached by some
thread without traversing any reference objects. A newly-created object is
strongly reachable by the thread that created it.
<li> An object is <em>softly reachable</em> if it is not strongly reachable but
can be reached by traversing a soft reference.
<li> An object is <em>weakly reachable</em> if it is neither strongly nor
softly reachable but can be reached by traversing a weak reference. When the
weak references to a weakly-reachable object are cleared, the object becomes
eligible for finalization.
<li> An object is <em>phantom reachable</em> if it is neither strongly, softly,
nor weakly reachable, it has been finalized, and some phantom reference refers
to it.
<li> Finally, an object is <em>unreachable</em>, and therefore eligible for
reclamation, when it is not reachable in any of the above ways.
</ul>
@author Mark Reinhold
@since 1.2
<!--
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
</body>
</html>

View file

@ -0,0 +1,44 @@
/*
* Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Service-provider classes for the {@link java.nio.channels}
* package.
*
* <p> Only developers who are defining new selector providers or
* asynchronous channel providers should need to make direct use of
* this package. </p>
*
* <p> Unless otherwise noted, passing a {@code null} argument to a
* constructor or method in any class or interface in this package
* will cause a {@link java.lang.NullPointerException
* NullPointerException} to be thrown.
*
*
* @since 1.4
* @author Mark Reinhold
* @author JSR-51 Expert Group
*/
package java.nio.channels.spi;

View file

@ -1,45 +0,0 @@
<!--
Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!doctype html public "-//IETF//DTD HTML//EN">
<html>
<body bgcolor="white">
Service-provider classes for the <tt>{@link java.nio.channels}</tt> package.
<p> Only developers who are defining new selector providers or asynchronous
channel providers should need to make direct use of this package. </p>
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
or method in any class or interface in this package will cause a {@link
java.lang.NullPointerException NullPointerException} to be thrown.
@since 1.4
@author Mark Reinhold
@author JSR-51 Expert Group
</body>
</html>

View file

@ -0,0 +1,90 @@
/*
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Defines charsets, decoders, and encoders, for translating between
* bytes and Unicode characters.
*
* <blockquote><table cellspacing=1 cellpadding=0 summary="Summary of charsets, decoders, and encoders in this package">
* <tr><th align="left">Class name</th><th align="left">Description</th></tr>
* <tr><td valign=top>{@link java.nio.charset.Charset}</td>
* <td>A named mapping between characters<br>and bytes</td></tr>
* <tr><td valign=top>{@link java.nio.charset.CharsetDecoder}</td>
* <td>Decodes bytes into characters</td></tr>
* <tr><td valign=top>{@link java.nio.charset.CharsetEncoder}&nbsp;&nbsp;</td>
* <td>Encodes characters into bytes</td></tr>
* <tr><td valign=top>{@link java.nio.charset.CoderResult}&nbsp;&nbsp;</td>
* <td>Describes coder results</td></tr>
* <tr><td valign=top>{@link java.nio.charset.CodingErrorAction}&nbsp;&nbsp;</td>
* <td>Describes actions to take when<br>coding errors are detected</td></tr>
*
* </table></blockquote>
*
* <p> A <i>charset</i> is named mapping between sequences of
* sixteen-bit Unicode characters and sequences of bytes, in the sense
* defined in <a
* href="http://www.ietf.org/rfc/rfc2278.txt"><i>RFC&nbsp;2278</i></a>.
* A <i>decoder</i> is an engine which transforms bytes in a specific
* charset into characters, and an <i>encoder</i> is an engine which
* transforms characters into bytes. Encoders and decoders operate on
* byte and character buffers. They are collectively referred to as
* <i>coders</i>.
*
* <p> The {@link java.nio.charset.Charset} class defines methods for
* creating coders for a given charset and for retrieving the various
* names associated with a charset. It also defines static methods
* for testing whether a particular charset is supported, for locating
* charset instances by name, and for constructing a map that contains
* every charset for which support is available in the current Java
* virtual machine.
*
* <p> Most users will not use these classes directly; instead they
* will use the existing charset-related constructors and methods in
* the {@link java.lang.String} class, together with the existing
* {@link java.io.InputStreamReader} and {@link
* java.io.OutputStreamWriter} classes, all of whose implementations
* have been reworked to make use of the charset facilities defined in
* this package. A small number of changes have been made to the
* {@link java.io.InputStreamReader} and {@link
* java.io.OutputStreamWriter} classes in order to allow explicit
* charset objects to be specified in the construction of instances of
* those classes.
*
* <p> Support for new charsets can be made available via the
* interface defined in the {@link
* java.nio.charset.spi.CharsetProvider} class in the <tt>{@link
* java.nio.charset.spi}</tt> package.
*
* <p> Unless otherwise noted, passing a <tt>null</tt> argument to a
* constructor or method in any class or interface in this package
* will cause a {@link java.lang.NullPointerException
* NullPointerException} to be thrown.
*
*
* @since 1.4
* @author Mark Reinhold
* @author JSR-51 Expert Group
*/
package java.nio.charset;

View file

@ -1,88 +0,0 @@
<!--
Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!doctype html public "-//IETF//DTD HTML//EN">
<html>
<body bgcolor="white">
Defines charsets, decoders, and encoders, for translating between bytes and
Unicode characters.
<blockquote><table cellspacing=1 cellpadding=0 summary="Summary of charsets, decoders, and encoders in this package">
<tr><th><p align="left">Class name</p></th><th><p align="left">Description</p></th></tr>
<tr><td valign=top><tt>{@link java.nio.charset.Charset}</tt></td>
<td>A named mapping between characters<br>and bytes</td></tr>
<tr><td valign=top><tt>{@link java.nio.charset.CharsetDecoder}</tt></td>
<td>Decodes bytes into characters</td></tr>
<tr><td valign=top><tt>{@link java.nio.charset.CharsetEncoder}&nbsp;&nbsp;</tt></td>
<td>Encodes characters into bytes</td></tr>
<tr><td valign=top><tt>{@link java.nio.charset.CoderResult}&nbsp;&nbsp;</tt></td>
<td>Describes coder results</td></tr>
<tr><td valign=top><tt>{@link java.nio.charset.CodingErrorAction}&nbsp;&nbsp;</tt></td>
<td>Describes actions to take when<br>coding errors are detected</td></tr>
</table></blockquote>
<p> A <i>charset</i> is named mapping between sequences of sixteen-bit Unicode
characters and sequences of bytes, in the sense defined in <a
href="http://www.ietf.org/rfc/rfc2278.txt"><i>RFC&nbsp;2278</i></a>. A
<i>decoder</i> is an engine which transforms bytes in a specific charset into
characters, and an <i>encoder</i> is an engine which transforms characters into
bytes. Encoders and decoders operate on byte and character buffers. They are
collectively referred to as <i>coders</i>.
<p> The {@link java.nio.charset.Charset} class defines methods for creating
coders for a given charset and for retrieving the various names associated with
a charset. It also defines static methods for testing whether a particular
charset is supported, for locating charset instances by name, and for
constructing a map that contains every charset for which support is available
in the current Java virtual machine.
<p> Most users will not use these classes directly; instead they will use the
existing charset-related constructors and methods in the {@link
java.lang.String} class, together with the existing {@link
java.io.InputStreamReader} and {@link java.io.OutputStreamWriter} classes, all
of whose implementations have been reworked to make use of the charset
facilities defined in this package. A small number of changes have been made
to the {@link java.io.InputStreamReader} and {@link java.io.OutputStreamWriter}
classes in order to allow explicit charset objects to be specified in the
construction of instances of those classes.
<p> Support for new charsets can be made available via the interface defined in
the {@link java.nio.charset.spi.CharsetProvider} class in the <tt>{@link
java.nio.charset.spi}</tt> package.
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
or method in any class or interface in this package will cause a {@link
java.lang.NullPointerException NullPointerException} to be thrown.
@since 1.4
@author Mark Reinhold
@author JSR-51 Expert Group
</body>
</html>

View file

@ -0,0 +1,41 @@
/*
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Service-provider classes for the {@link java.nio.charset} package.
*
* <p> Only developers who are defining new charsets should need to
* make direct use of this package. </p>
*
* <p> Unless otherwise noted, passing a {@code null} argument to a
* constructor or method in any class or interface in this package
* will cause a {@link java.lang.NullPointerException
* NullPointerException} to be thrown.
*
* @since 1.4
* @author Mark Reinhold
* @author JSR-51 Expert Group
*/
package java.nio.charset.spi;

View file

@ -1,45 +0,0 @@
<!--
Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!doctype html public "-//IETF//DTD HTML//EN">
<html>
<body bgcolor="white">
Service-provider classes for the <tt>{@link java.nio.charset}</tt> package.
<p> Only developers who are defining new charsets should need to make direct
use of this package. </p>
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
or method in any class or interface in this package will cause a {@link
java.lang.NullPointerException NullPointerException} to be thrown.
@since 1.4
@author Mark Reinhold
@author JSR-51 Expert Group
</body>
</html>

View file

@ -0,0 +1,141 @@
/*
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Defines buffers, which are containers for data, and provides an
* overview of the other NIO packages.
*
*
* <p> The central abstractions of the NIO APIs are: </p>
*
* <ul>
*
* <li><p> <a href="#buffers"><i>Buffers</i></a>, which are containers for data;
* </p></li>
*
* <li><p> <a
* href="charset/package-summary.html"><i>Charsets</i></a> and their
* associated <i>decoders</i> and <i>encoders</i>, <br> which
* translate between bytes and Unicode characters; </p></li>
*
* <li><p> <a
* href="channels/package-summary.html"><i>Channels</i></a> of
* various types, which represent connections <br> to entities
* capable of performing I/O operations; and </p></li>
*
* <li><p> <i>Selectors</i> and <i>selection keys</i>, which
* together with <br> <i>selectable channels</i> define a <a
* href="channels/package-summary.html#multiplex">multiplexed,
* non-blocking <br> I/O</a>&nbsp;facility. </p></li>
*
* </ul>
*
* <p> The <tt>java.nio</tt> package defines the buffer classes, which
* are used throughout the NIO APIs. The charset API is defined in
* the {@link java.nio.charset} package, and the channel and selector
* APIs are defined in the {@link java.nio.channels} package. Each of
* these subpackages has its own service-provider (SPI) subpackage,
* the contents of which can be used to extend the platform's default
* implementations or to construct alternative implementations.
*
* <a name="buffers"> </a>
*
* <blockquote><table cellspacing=1 cellpadding=0 summary="Description of the various buffers">
* <tr><th align="left">Buffers</th><th align="left">Description</th></tr>
* <tr><td valign=top><tt>{@link java.nio.Buffer}</tt></td>
* <td>Position, limit, and capacity;
* <br>clear, flip, rewind, and mark/reset</td></tr>
* <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.ByteBuffer}</tt></td>
* <td>Get/put, compact, views; allocate,&nbsp;wrap</td></tr>
* <tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;{@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</tt></td>
* <td>A byte buffer mapped to a file</td></tr>
* <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.CharBuffer}</tt></td>
* <td>Get/put, compact; allocate,&nbsp;wrap</td></tr>
* <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.DoubleBuffer}</tt></td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.FloatBuffer}</tt></td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.IntBuffer}</tt></td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.LongBuffer}</tt></td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.ShortBuffer}</tt></td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top><tt>{@link java.nio.ByteOrder}</tt></td>
* <td>Typesafe enumeration for&nbsp;byte&nbsp;orders</td></tr>
* </table></blockquote>
*
* <p> A <i>buffer</i> is a container for a fixed amount of data of a
* specific primitive type. In addition to its content a buffer has a
* <i>position</i>, which is the index of the next element to be read
* or written, and a <i>limit</i>, which is the index of the first
* element that should not be read or written. The base {@link
* java.nio.Buffer} class defines these properties as well as methods
* for <i>clearing</i>, <i>flipping</i>, and <i>rewinding</i>, for
* <i>marking</i> the current position, and for <i>resetting</i> the
* position to the previous mark.
*
* <p> There is a buffer class for each non-boolean primitive type.
* Each class defines a family of <i>get</i> and <i>put</i> methods
* for moving data out of and in to a buffer, methods for
* <i>compacting</i>, <i>duplicating</i>, and <i>slicing</i> a buffer,
* and static methods for <i>allocating</i> a new buffer as well as
* for <i>wrapping</i> an existing array into a buffer.
*
* <p> Byte buffers are distinguished in that they can be used as the
* sources and targets of I/O operations. They also support several
* features not found in the other buffer classes:
*
* <ul>
*
* <li><p> A byte buffer can be allocated as a <a
* href="ByteBuffer.html#direct"> <i>direct</i></a> buffer, in which
* case the Java virtual machine will make a best effort to perform
* native I/O operations directly upon it. </p></li>
*
* <li><p> A byte buffer can be created by {@link
* java.nio.channels.FileChannel#map <i>mapping</i>} a region of a
* file directly into memory, in which case a few additional
* file-related operations defined in the {@link
* java.nio.MappedByteBuffer} class are available. </p></li>
*
* <li><p> A byte buffer provides access to its content as either a
* heterogeneous or homogeneous sequence of <a
* href="ByteBuffer.html#bin"><i>binary data</i></a> of any
* non-boolean primitive type, in either big-endian or little-endian
* <a href="ByteOrder.html">byte order</a>. </p></li>
*
* </ul>
*
* <p> Unless otherwise noted, passing a <tt>null</tt> argument to a
* constructor or method in any class or interface in this package
* will cause a {@link java.lang.NullPointerException
* NullPointerException} to be thrown.
*
* @since 1.4
* @author Mark Reinhold
* @author JSR-51 Expert Group
*/
package java.nio;

View file

@ -1,139 +0,0 @@
<!--
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!doctype html public "-//IETF//DTD HTML//EN">
<html>
<body bgcolor="white">
Defines buffers, which are containers for data, and provides an overview of the
other NIO packages.
<p> The central abstractions of the NIO APIs are: </p>
<ul>
<li><p> <a href="#buffers"><i>Buffers</i></a>, which are containers for data;
</p></li>
<li><p> <a href="charset/package-summary.html"><i>Charsets</i></a> and their
associated <i>decoders</i> and <i>encoders</i>, <br> which translate between
bytes and Unicode characters; </p></li>
<li><p> <a href="channels/package-summary.html"><i>Channels</i></a> of
various types, which represent connections <br> to entities capable of
performing I/O operations; and </p></li>
<li><p> <i>Selectors</i> and <i>selection keys</i>, which together with <br>
<i>selectable channels</i> define a <a
href="channels/package-summary.html#multiplex">multiplexed, non-blocking <br>
I/O</a>&nbsp;facility. </p></li>
</ul>
<p> The <tt>java.nio</tt> package defines the buffer classes, which are used
throughout the NIO APIs. The charset API is defined in the {@link
java.nio.charset} package, and the channel and selector APIs are defined in the
{@link java.nio.channels} package. Each of these subpackages has its own
service-provider (SPI) subpackage, the contents of which can be used to extend
the platform's default implementations or to construct alternative
implementations.
<a name="buffers"> </a>
<blockquote><table cellspacing=1 cellpadding=0 summary="Description of the various buffers">
<tr><th><p align="left">Buffers</p></th><th><p align="left">Description</p></th></tr>
<tr><td valign=top><tt>{@link java.nio.Buffer}</tt></td>
<td>Position, limit, and capacity;
<br>clear, flip, rewind, and mark/reset</td></tr>
<tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.ByteBuffer}</tt></td>
<td>Get/put, compact, views; allocate,&nbsp;wrap</td></tr>
<tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;{@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</tt></td>
<td>A byte buffer mapped to a file</td></tr>
<tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.CharBuffer}</tt></td>
<td>Get/put, compact; allocate,&nbsp;wrap</td></tr>
<tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.DoubleBuffer}</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
<tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.FloatBuffer}</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
<tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.IntBuffer}</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
<tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.LongBuffer}</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
<tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.ShortBuffer}</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
<tr><td valign=top><tt>{@link java.nio.ByteOrder}</tt></td>
<td>Typesafe enumeration for&nbsp;byte&nbsp;orders</td></tr>
</table></blockquote>
<p> A <i>buffer</i> is a container for a fixed amount of data of a specific
primitive type. In addition to its content a buffer has a <i>position</i>,
which is the index of the next element to be read or written, and a
<i>limit</i>, which is the index of the first element that should not be read
or written. The base {@link java.nio.Buffer} class defines these properties as
well as methods for <i>clearing</i>, <i>flipping</i>, and <i>rewinding</i>, for
<i>marking</i> the current position, and for <i>resetting</i> the position to
the previous mark.
<p> There is a buffer class for each non-boolean primitive type. Each class
defines a family of <i>get</i> and <i>put</i> methods for moving data out of
and in to a buffer, methods for <i>compacting</i>, <i>duplicating</i>, and
<i>slicing</i> a buffer, and static methods for <i>allocating</i> a new buffer
as well as for <i>wrapping</i> an existing array into a buffer.
<p> Byte buffers are distinguished in that they can be used as the sources and
targets of I/O operations. They also support several features not found in the
other buffer classes:
<ul>
<li><p> A byte buffer can be allocated as a <a href="ByteBuffer.html#direct">
<i>direct</i></a> buffer, in which case the Java virtual machine will make a
best effort to perform native I/O operations directly upon it. </p></li>
<li><p> A byte buffer can be created by {@link
java.nio.channels.FileChannel#map <i>mapping</i>} a region of a
file directly into memory, in which case a few additional file-related
operations defined in the {@link java.nio.MappedByteBuffer} class are
available. </p></li>
<li><p> A byte buffer provides access to its content as either a heterogeneous
or homogeneous sequence of <a href="ByteBuffer.html#bin"><i>binary data</i></a>
of any non-boolean primitive type, in either big-endian or little-endian <a
href="ByteOrder.html">byte order</a>. </p></li>
</ul>
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
or method in any class or interface in this package will cause a {@link
java.lang.NullPointerException NullPointerException} to be thrown.
@since 1.4
@author Mark Reinhold
@author JSR-51 Expert Group
</body>
</html>

View file

@ -0,0 +1,47 @@
/*
* Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes and interfaces for handling text, dates, numbers,
* and messages in a manner independent of natural languages. This
* means your main application or applet can be written to be
* language-independent, and it can rely upon separate,
* dynamically-linked localized resources. This allows the flexibility
* of adding localizations for new localizations at any time.
*
* <p>These classes are capable of formatting dates, numbers, and
* messages, parsing; searching and sorting strings; and iterating
* over characters, words, sentences, and line breaks. This package
* contains three main groups of classes and interfaces:
*
* <ul>
* <li>Classes for iteration over text
* <li>Classes for formatting and parsing
* <li>Classes for string collation
* </ul>
*
* @since 1.1
*/
package java.text;

View file

@ -1,65 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides classes and interfaces for handling text, dates, numbers, and messages
in a manner independent of natural languages. This means your main application
or applet can be written to be language-independent, and it can rely upon
separate, dynamically-linked localized resources. This allows the flexibility
of adding localizations for new localizations at any time.
<p>
These classes are capable of formatting dates, numbers, and messages, parsing;
searching and sorting strings; and iterating over characters, words, sentences,
and line breaks. This package contains three main groups of classes and
interfaces:
<ul>
<li>Classes for iteration over text
<li>Classes for formatting and parsing
<li>Classes for string collation
</ul>
<!--
<h2>Package Specification</h2>
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
<ul>
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.1
</body>
</html>

View file

@ -0,0 +1,31 @@
/*
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Service provider classes for the classes in the java.text package.
*
* @since 1.6
*/
package java.text.spi;

View file

@ -1,50 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Service provider classes for the classes in the java.text package.
<!--
<h2>Package Specification</h2>
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
<ul>
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.6
</body>
</html>

View file

@ -0,0 +1,49 @@
/*
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes for reading and writing the JAR (Java ARchive)
* file format, which is based on the standard ZIP file format with an
* optional manifest file. The manifest stores meta-information about
* the JAR file contents and is also used for signing JAR files.
*
* <h2>Package Specification</h2>
*
* The <code>java.util.jar</code> package is based on the following
* specifications:
*
* <ul>
* <li><b>Info-ZIP file format</b> - The JAR format is based on the Info-ZIP
* file format. See
* <a href="../zip/package-summary.html#package_description">java.util.zip
* package description.</a> <p>
* In JAR files, all file names must be encoded in the UTF-8 encoding.
* <li><a href="../../../../technotes/guides/jar/jar.html">
* Manifest and Signature Specification</a> - The manifest format specification.
* </ul>
*
* @since 1.2
*/
package java.util.jar;

View file

@ -1,62 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides classes for reading and writing the JAR (Java ARchive) file
format, which is based on the standard ZIP file format with an
optional manifest file. The manifest stores meta-information about the
JAR file contents and is also used for signing JAR files.
<h2>Package Specification</h2>
The <code>java.util.jar</code> package is based on the following specifications:
<ul>
<li><b>Info-ZIP file format</b> - The JAR format is based on the Info-ZIP
file format. See
<a href="../zip/package-summary.html#package_description">java.util.zip
package description.</a> <p>
In JAR files, all file names must be encoded in the UTF-8 encoding.
<li><a href="../../../../technotes/guides/jar/jar.html">
Manifest and Signature Specification</a> - The manifest format specification.
</ul>
<!--
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.2
</body>
</html>

View file

@ -0,0 +1,52 @@
/*
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Contains the collections framework, legacy collection classes,
* event model, date and time facilities, internationalization, and
* miscellaneous utility classes (a string tokenizer, a random-number
* generator, and a bit array).
*
* <h2>Package Specification</h2>
* <ul>
* <li><a href="../../../technotes/guides/collections/overview.html"><b>Collections Framework Overview</b></a>
* <li><a href="../../../technotes/guides/collections/reference.html"><b>
* Collections Framework Annotated Outline</b></a>
* </ul>
*
* <h2>Related Documentation</h2>
* For overviews, tutorials, examples, guides, and tool documentation,
* please see:
* <ul>
* <li><a href="http://docs.oracle.com/javase/tutorial/collections/index.html">
* <b>Collections Framework Tutorial</b></a>
* <li><a
* href="../../../technotes/guides/collections/designfaq.html"><b>Collections
* Framework Design FAQ</b></a>
* </ul>
*
* @since 1.0
*/
package java.util;

View file

@ -1,55 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Contains the collections framework, legacy collection classes, event model,
date and time facilities, internationalization, and miscellaneous utility
classes (a string tokenizer, a random-number generator, and a bit array).
<h2>Package Specification</h2>
<ul>
<li><a href="../../../technotes/guides/collections/overview.html"><b>Collections Framework Overview</b></a>
<li><a href="../../../technotes/guides/collections/reference.html"><b>
Collections Framework Annotated Outline</b></a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="http://docs.oracle.com/javase/tutorial/collections/index.html">
<b>Collections Framework Tutorial</b></a>
<li><a
href="../../../technotes/guides/collections/designfaq.html"><b>Collections
Framework Design FAQ</b></a>
</ul>
@since 1.0
</body>
</html>

View file

@ -0,0 +1,56 @@
/*
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Classes for matching character sequences against patterns specified
* by regular expressions.
*
* <p> An instance of the {@link java.util.regex.Pattern} class
* represents a regular expression that is specified in string form in
* a syntax similar to that used by Perl.
*
* <p> Instances of the {@link java.util.regex.Matcher} class are used
* to match character sequences against a given pattern. Input is
* provided to matchers via the {@link java.lang.CharSequence}
* interface in order to support matching against characters from a
* wide variety of input sources. </p>
*
* <p> Unless otherwise noted, passing a <tt>null</tt> argument to a
* method in any class or interface in this package will cause a
* {@link java.lang.NullPointerException NullPointerException} to be
* thrown.
*
* <h2>Related Documentation</h2>
*
* <p> An excellent tutorial and overview of regular expressions is <a
* href="http://www.oreilly.com/catalog/regex/"><i>Mastering Regular
* Expressions</i>, Jeffrey E. F. Friedl, O'Reilly and Associates,
* 1997.</a> </p>
*
* @since 1.4
* @author Mike McCloskey
* @author Mark Reinhold
*/
package java.util.regex;

View file

@ -1,66 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Classes for matching character sequences against patterns specified by regular
expressions.
<p> An instance of the {@link java.util.regex.Pattern} class represents a
regular expression that is specified in string form in a syntax similar to
that used by Perl.
<p> Instances of the {@link java.util.regex.Matcher} class are used to match
character sequences against a given pattern. Input is provided to matchers via
the {@link java.lang.CharSequence} interface in order to support matching
against characters from a wide variety of input sources. </p>
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a method
in any class or interface in this package will cause a
{@link java.lang.NullPointerException NullPointerException} to be thrown.
<h2>Related Documentation</h2>
<p> An excellent tutorial and overview of regular expressions is <a
href="http://www.oreilly.com/catalog/regex/"><i>Mastering Regular
Expressions</i>, Jeffrey E. F. Friedl, O'Reilly and Associates, 1997.</a> </p>
<!--
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.4
@author Mike McCloskey
@author Mark Reinhold
</body>
</html>

View file

@ -0,0 +1,31 @@
/*
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Service provider classes for the classes in the java.util package.
*
* @since 1.6
*/
package java.util.spi;

View file

@ -1,50 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Service provider classes for the classes in the java.util package.
<!--
<h2>Package Specification</h2>
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
<ul>
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.6
</body>
</html>

View file

@ -0,0 +1,68 @@
/*
* Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides interfaces for Diffie-Hellman keys as defined in RSA
* Laboratories' PKCS #3.
*
* <P>Note that these interfaces are intended only for key
* implementations whose key material is accessible and
* available. These interfaces are not intended for key implementations
* whose key material resides in inaccessible, protected storage (such
* as in a hardware device).
*
* <P>For more developer information on how to use these interfaces,
* including information on how to design <code>Key</code> classes for
* hardware devices, please refer to the cryptographic provider
* developer guide:
*
* <ul>
* <li><a href=
* "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
* <b>How to Implement a Provider for the Java&trade; Cryptography Architecture
* </b></a></li>
* </ul>
*
* <h2>Package Specification</h2>
*
* <ul>
* <li>PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4,
* November 1993.</li>
* </ul>
*
* <h2>Related Documentation</h2>
*
* For further documentation, please see:
* <ul>
* <li>
* <a href=
* "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
* <b>Java&trade; Cryptography Architecture API Specification and Reference
* </b></a></li>
* </ul>
*
* @since 1.4
*/
package javax.crypto.interfaces;

View file

@ -1,74 +0,0 @@
<!--
Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">
Provides interfaces for Diffie-Hellman keys as defined in
RSA Laboratories' PKCS #3.
<P>
Note that these interfaces are intended only
for key implementations whose key material
is accessible and available. These
interfaces are not intended for key
implementations whose key material resides
in inaccessible, protected storage (such as
in a hardware device).
<P>
For more developer information on how to use
these interfaces, including information on
how to design <code>Key</code> classes
for hardware devices, please refer to the
cryptographic provider developer guide:
<ul>
<li><a href=
"{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
<b>How to Implement a Provider for the Java&trade; Cryptography Architecture
</b></a></li>
</ul>
<h2>Package Specification</h2>
<ul>
<li>PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4,
November 1993.</li>
</ul>
<h2>Related Documentation</h2>
For further documentation, please see:
<ul>
<li>
<a href=
"{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
<b>Java&trade; Cryptography Architecture API Specification and Reference
</b></a></li>
</ul>
@since 1.4
</body>
</html>

View file

@ -0,0 +1,68 @@
/*
* Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides the classes and interfaces for cryptographic
* operations. The cryptographic operations defined in this package
* include encryption, key generation and key agreement, and Message
* Authentication Code (MAC) generation.
*
* <p>Support for encryption includes symmetric, asymmetric, block,
* and stream ciphers. This package also supports secure streams and
* sealed objects.
*
* <p>Many of the classes provided in this package are provider-based.
* The class itself defines a programming interface to which
* applications may write. The implementations themselves may then be
* written by independent third-party vendors and plugged in
* seamlessly as needed. Therefore application developers may take
* advantage of any number of provider-based implementations without
* having to add or rewrite code.
*
* <ul>
* <li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html">
* <b>Java&trade; Cryptography Architecture Standard Algorithm Name
* Documentation</b></a></li>
* </ul>
*
* <h2>Related Documentation</h2>
*
* For further documentation, please see:
* <ul>
* <li>
* <a href=
* "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
* <b>Java&trade; Cryptography Architecture (JCA) Reference Guide
* </b></a></li>
* <li>
* <a href=
* "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
* <b>How to Implement a Provider in the Java&trade; Cryptography
* Architecture </b></a></li>
* </ul>
*
* @since 1.4
*/
package javax.crypto;

View file

@ -1,76 +0,0 @@
<!--
Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">
Provides the classes and interfaces for cryptographic operations. The
cryptographic operations defined in this package include encryption,
key generation and key agreement, and Message Authentication Code
(MAC) generation.
<p>Support for encryption includes symmetric, asymmetric, block, and
stream ciphers. This package also supports secure streams and sealed
objects.
<p>Many of the classes provided in this package are provider-based. The
class itself defines a programming interface to which applications may
write. The implementations themselves may then be written by
independent third-party vendors and plugged in seamlessly as needed.
Therefore application developers may take advantage of any number of
provider-based implementations without having to add or rewrite code.
<h2>Package Specification</h2>
<ul>
<li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html">
<b>Java&trade;
Cryptography Architecture Standard Algorithm Name
Documentation</b></a></li>
</ul>
<h2>Related Documentation</h2>
For further documentation, please see:
<ul>
<li>
<a href=
"{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
<b>Java&trade;
Cryptography Architecture (JCA) Reference Guide
</b></a></li>
<li>
<a href=
"{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
<b>How to Implement a Provider in the
Java&trade; Cryptography Architecture
</b></a></li>
</ul>
@since 1.4
</body>
</html>

View file

@ -0,0 +1,74 @@
/*
* Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes and interfaces for key specifications and
* algorithm parameter specifications.
*
* <p>A key specification is a transparent representation of the key
* material that constitutes a key. A key may be specified in an
* algorithm-specific way, or in an algorithm-independent encoding
* format (such as ASN.1). This package contains key specifications
* for Diffie-Hellman public and private keys, as well as key
* specifications for DES, Triple DES, and PBE secret keys.
*
* <p>An algorithm parameter specification is a transparent
* representation of the sets of parameters used with an
* algorithm. This package contains algorithm parameter specifications
* for parameters used with the Diffie-Hellman, DES, Triple DES, PBE,
* RC2 and RC5 algorithms.
*
*
* <ul>
* <li>PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4,
* November 1993.</li>
* <li>PKCS #5: Password-Based Encryption Standard, Version 1.5,
* November 1993.</li>
* <li>Federal Information Processing Standards Publication (FIPS PUB) 46-2:
* Data Encryption Standard (DES) </li>
* </ul>
*
* <h2>Related Documentation</h2>
*
* For documentation that includes information about algorithm
* parameter and key specifications, please see:
*
* <ul>
* <li>
* <a href=
* "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
* <b>Java&trade; Cryptography Architecture API Specification and Reference
* </b></a></li>
* <li>
* <a href=
* "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
* <b>How to Implement a Provider for the
* Java&trade; Cryptography Architecture
* </b></a></li>
* </ul>
*
* @since 1.4
*/
package javax.crypto.spec;

View file

@ -1,77 +0,0 @@
<!--
Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">
Provides classes and interfaces for key specifications and algorithm
parameter specifications.
<p>A key specification is a transparent representation of the key
material that constitutes a key. A key may be specified in an
algorithm-specific way, or in an algorithm-independent encoding format
(such as ASN.1). This package contains key specifications for
Diffie-Hellman public and private keys, as well as key specifications for DES,
Triple DES, and PBE secret keys.
<p>An algorithm parameter specification is a transparent representation
of the sets of parameters used with an algorithm. This package contains
algorithm parameter specifications for parameters used with the
Diffie-Hellman, DES, Triple DES, PBE, RC2 and RC5 algorithms.
<h2>Package Specification</h2>
<ul>
<li>PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4,
November 1993.</li>
<li>PKCS #5: Password-Based Encryption Standard, Version 1.5,
November 1993.</li>
<li>Federal Information Processing Standards Publication (FIPS PUB) 46-2:
Data Encryption Standard (DES) </li>
</ul>
<h2>Related Documentation</h2>
For documentation that includes information about algorithm parameter
and key specifications, please see:
<ul>
<li>
<a href=
"{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
<b>Java&trade; Cryptography Architecture API Specification and Reference
</b></a></li>
<li>
<a href=
"{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
<b>How to Implement a Provider for the
Java&trade; Cryptography Architecture
</b></a></li>
</ul>
@since 1.4
</body>
</html>

View file

@ -0,0 +1,33 @@
/*
* Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes for networking applications. These classes include
* factories for creating sockets. Using socket factories you can
* encapsulate socket creation and configuration behavior.
*
* @since 1.4
*/
package javax.net;

View file

@ -1,54 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides classes for networking applications. These classes include
factories for creating sockets. Using socket factories you can encapsulate
socket creation and configuration behavior.
<!--
<h2>Package Specification</h2>
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
<ul>
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.4
</body>
</html>

View file

@ -0,0 +1,41 @@
/*
* Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes for the secure socket package. Using the secure
* socket classes, you can communicate using SSL or a related security
* protocol to reliably detect any errors introduced into the network
* byte stream and to optionally encrypt the data and/or authenticate
* the communicating peers.
*
* <ul>
* <li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html">
* <b>Java&trade; Cryptography Architecture Standard Algorithm Name
* Documentation</b></a></li>
* </ul>
*
* @since 1.4
*/
package javax.net.ssl;

View file

@ -1,57 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides classes for the secure socket package. Using the secure socket
classes, you can communicate using SSL or a related security protocol
to reliably detect any errors introduced into the network byte stream
and to optionally encrypt the data and/or authenticate the communicating peers.
<h2>Package Specification</h2>
<ul>
<li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html">
<b>Java&trade; Cryptography Architecture Standard Algorithm Name
Documentation</b></a></li>
</ul>
<!--
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.4
</body>
</html>

View file

@ -1,187 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<!--
Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</HEAD>
<BODY BGCOLOR="white">
<P>
<B> Licensee impact of JDK 1.4 reflection changes </B>
</P>
<P>
Sun's JDK 1.4 contains a new implementation of java.lang.reflect which
offers substantially higher performance than previous JDKs' native
code. Licensees can at their discretion port these changes. There are
no public API or documentation changes associated with the new
reflection implementation aside from a few minor clarifications in the
specifications of Method.invoke(), Constructor.newInstance(), and a
few methods in java.lang.reflect.Field.
</P>
<P>
The bulk of the new implementation is Java programming language code
which generates bytecodes, and is therefore portable. If licensees
desire to port it, the following JVM changes are required:
<OL>
<LI> The following four new JVM entry points must be added:
<UL>
<LI> JVM_GetClassDeclaredConstructors
<LI> JVM_GetClassDeclaredFields
<LI> JVM_GetClassDeclaredMethods
<LI> JVM_GetClassAccessFlags
</UL>
The first three return the declared constructors, fields, and methods
for a given class, with an option to return only the public ones. They
are similar in functionality to the earlier GetClassConstructors,
GetClassFields, and GetClassMethods. JVM_GetClassDeclaredFields and
JVM_GetClassDeclaredMethods must intern the Strings for the names of
the Field and Method objects returned. The fouth returns the access
flags for a given class as marked in the class file, as opposed to in
the InnerClasses attribute if the class is an inner class, and
therefore differs from JVM_GetClassModifiers for inner classes (most
importantly, protected inner classes; see 4471811.)
<LI> The JVM's link resolver must be modified to allow all field and
method references from subclasses of sun.reflect.MagicAccessorImpl to
any other class (even to private members of other classes) to
succeed. This allows setAccessible() and its associated checks to be
implemented in Java.
<LI> The code which calls the verifier must skip verification for all
subclasses of sun.reflect.MagicAccessorImpl. (It was originally
intended that only a subset of the stub classes used for serialization
would not pass the verifier, specifically, those subclassing
SerializationConstructorAccessorImpl; see 4486457 for a case where
this does not work.)
<LI> The stack walker for security checks must be modified to skip not
only all Method.invoke() frames, but also any frames for which the
class is a subclass of sun.reflect.MethodAccessorImpl.
<LI> The JVM entry points JVM_InvokeMethod and
JVM_NewInstanceFromConstructor are currently still used because the
first invocation of the bytecode-based reflection is currently slower
than the original native code. The security checks they perform can,
however, be disabled, as they are now performed by Java programming
language code.
</OL>
</P>
<P>
The following changes were discovered to be necessary for backward
compatibility with certain applications (see bug 4474172):
<OL>
<LI> The existing JVM entry point JVM_LatestUserDefinedLoader
(typically used in applications which rely on the 1.1 security
framework) must skip reflection-related frames in its stack walk:
specifically all frames associated with subclasses of
sun.reflect.MethodAccessorImpl and
sun.reflect.ConstructorAccessorImpl.
<LI> The new reflection implementation can cause class loading to
occur in previously-unexpected places (namely during reflective
calls). This can cause class loaders which contain subtle bugs to
break. In general it is not possible to guarantee complete backward
bug compatibility, but one kind of bug has been observed more than
once: the inability of a user-defined loader to handle delegation to
it for a class it has already loaded. The new reflection
implementation is predicated on delegation working properly, as it
loads stub classes into newly-fabricated class loaders of type
sun.reflect.DelegatingClassLoader, one stub class per loader, to allow
unloading of the stub classes to occur more quickly. To handle this
kind of bug, the JVM's internal class lookup mechanism must be
slightly modified to check for instances of
sun.reflect.DelegatingClassLoader as the incoming class loader and
silently traverse the "parent" field once for such loaders before
entering the bulk of the resolution code. This avoids an upcall to
Java programming language code which certain loaders can not handle.
</OL>
</P>
<P>
The following JVM entry points may be deleted:
<UL>
<LI> JVM_GetClassFields
<LI> JVM_GetClassMethods
<LI> JVM_GetClassConstructors
<LI> JVM_GetClassField
<LI> JVM_GetClassMethod
<LI> JVM_GetClassConstructor
<LI> JVM_NewInstance
<LI> JVM_GetField
<LI> JVM_GetPrimitiveField
<LI> JVM_SetField
<LI> JVM_SetPrimitiveField
</UL>
</P>
<P>
To keep using the previous reflection implementation, licensees should
not take changes from Sun's JDK 1.4 relating specifically to the
implementation of reflection in the following classes/methods and
any associated native code:
<UL>
<LI> java.lang.Class.newInstance0
<LI> java.lang.Class.getClassLoader0
<LI> java.lang.Class.getFields
<LI> java.lang.Class.getMethods
<LI> java.lang.Class.getDeclaredFields
<LI> java.lang.Class.getDeclaredMethods
<LI> java.lang.Class.getFields0
<LI> java.lang.Class.getMethods0
<LI> java.lang.Class.getConstructors0
<LI> java.lang.Class.getField0
<LI> java.lang.Class.getMethod0
<LI> java.lang.Class.getConstructor0
<LI> java.lang.ClassLoader.getCallerClassLoader
<LI> java.lang.System.getCallerClass
<LI> java.lang.reflect.AccessibleObject
<LI> java.lang.reflect.Constructor
<LI> java.lang.reflect.Field
<LI> java.lang.reflect.Method
<LI> java.lang.reflect.Modifier
<LI> sun.misc.ClassReflector
</UL>
</P>
</HTML>