Java(tm) Developers Kit

----------------------------------------------------------------------------

Version 1.0 Beta 2

Frequently Asked Questions - Java(tm) Developers Kit

   * Availability/downloading
   * Using the JDK
   * Learning more about it

----------------------------------------------------------------------------

Availability/downloading

What's included in the Java Developers Kit (JDK)?
     It has several components:
        o Java Applet Viewer, for running and testing applets
        o Java Compiler
        o Java Language Runtime
        o Java Debugger API and Prototype Debugger, an API
          (java.tools.debug) and early prototype of a command-line debugger
          that uses this API

     Note that this Beta 2 release does not include a web browser.

What has changed since the previous beta release?
     See the list of changes, which also includes a pointer to changes since
     the Alpha 3 release.

On which platforms can I run the JDK?
     The 1.0 Beta 2 JDK is currently available on:
        o Windows NT/95 (Intel x86)
        o Solaris 2.3 or higher (SPARC).

When will a corresponding beta HotJava(tm) browser be available?
     We're anticipating a beta HotJava browser in January.

Is the Beta 2 JDK release free, like the Alpha 3 release of Java/HotJava?
     Yes, the terms for use are fundamentally the same as the Alpha 3
     Java/HotJava. See the COPYRIGHT file included with the release for
     copyright and license information.

How can I download a copy?
     The best way to get a copy is to visit the downloading instructions
     page for your platform:
        o Downloading Windows NT/95
        o Downloading Solaris 2

     In addition to a link for downloading, these pages provide useful
     instructions for unpacking, installing, and troubleshooting your JDK
     copy.

Can I get a copy by anonymous ftp?
     Yes, the Beta 2 JDK release is available by anonymous ftp at
     java.sun.com. The files are in the /pub directory and are named:
        o jdk-beta2-win32-x86.zip
        o jdk-beta2-solaris2-sparc.tar.Z

     If you choose to download the JDK this way, we still recommend that you
     read over the corresponding downloading instructions page for the other
     information it contains.

Is the JDK release available on mirror sites?
     Yes. The demand on our java.sun.com server sometimes overwhelms it.
     Using a mirror site when possible may not only be faster for you, but
     will also leave java.sun.com a bit less swamped. Currently, the
     following mirror sites have the Beta 2 JDK release ready for
     downloading:
        o ftp://www.blackdown.org/pub/Java/pub (ftp from the Blackdown
          Organization, USA)
        o ftp://www.dnx.com/pub (ftp from Dimension X, USA)

----------------------------------------------------------------------------

Using the JDK

Can I view beta (JDK) applets using the Alpha 3 HotJava browser?
     In general, no. The Alpha 3 HotJava browser will not understand some
     parts of the beta API and will not recognize the new <applet> tag.

Can I view Alpha 3 applets using the JDK?
     No. The JDK applet viewer only understands beta (and pre-beta) applets.
     Java-enabled browsers likewise cannot handle alpha applets. We
     recommend that you upgrade and recompile all alpha applets for the new
     beta API.

Will applets developed using the JDK work in Netscape Navigator?
     The 1.0 Beta 2 JDK release presents the Java Applet API. All
     Java-enabled browsers, including Java-enabled versions of Netscape
     Navigator, will support the final Applet API. Note in particular that
     the 2.0 beta 4 Netscape release should be compatible with the Beta 2
     JDK.

Can all Netscape 2.0 versions run Java applets?
     Recent beta versions of Netscape 2.0 support Java applets on many but
     not all platforms. For details, see Netscape's release notes for your
     platform.

What do I do about the Netscape error message: "applet not initialized"?
     The most common cause of this error message is trying to load applets
     from the local file system. Viewing applets via file: URLs, however, is
     not currently supported in Netscape. The workaround is to use http:
     URLs instead. This requires that your html pages with applets be
     accessible from an http server.

Can I use the Sun-specific classes in the API?
     Yes and no. Sun-specific classes like NetworkClient and NetworkServer
     were included in the JDK release to provide support for other
     Sun-specific classes, but they are not otherwise available for general
     use (i.e., no documentation and no source is provided). In general, the
     sun.* classes aren't guaranteed to be upward compatible to new
     versions, nor even to exist in future releases.

     In terms of what's safe to use, the java.* classes represent the Java
     applet API, which will be documented by us, will be upwardly
     compatible, and will be supported by all Java-enabled browsers,
     including Netscape.

Can my beta applet make connections to places other than the applet's
source?
     No -- and this is a change from alpha applets. The default security
     policy for Java-enabled browsers is to prohibit such connections. The
     HotJava browser, however, will support more flexible security modes.
     For further details, see our security FAQ.

Can I write stand-alone Java applications using the JDK release?
     Yes. The JDK contains the Java Language Compiler and Runtime, which
     together allow you to compile and run stand-alone Java applications.

Can I include AWT components in applets?
     Yes. This is one of the major new features of the beta applet API.

Is there a new event model in the Beta 2 JDK?
     Yes. In previous versions of the JDK, programs using the AWT couldn't
     intercept events that were sent to native widgets. In theory, an AWT
     program can subclass a component, say a TextField, override it's
     handleEvent() method, and can then:
       1. Pass the event along unmodified, by returning false.
       2. Pass the event along with modifications by modifying the event and
          then returning false.
       3. Consume the event without passing it on by returning true.

     If a component's handleEvent method returns false, the event keeps
     traveling up the containment hierarchy. If none of the component's
     parents return true from their handleEvent methods, the event is then
     sent to the peer which will then consume the event.

     However, for 1.0 Beta 2 (and FCS) the only events that will be able to
     be filtered by an application are keyboard events. Future versions of
     the JDK will allow all events to be filtered by the AWT.

     Note also that if an applet's TextFields don't seem to be getting any
     keyboard input, it's because the applet is incorrectly written to
     return "true" from it's handleEvent method. This causes the event to
     not be sent to the actual TextField.

Can I link C programs into my Java code?
     You can dynamically link C programs into applications written in the
     Java Programming Language, but not into applets. This restriction is
     another facet of Java security.

How do I debug my applets?
     This release includes an early Java Debugger (JDB). Check out the Java
     Tools Reference Page and the Java Debugging Tutorial Page for more
     information on debugging.

How come single-stepping through a method doesn't always go to the right
place?
     The debugger is the first client of the compiler's line tables, and
     that line number information needs refinement. The javap command has
     been enhanced to report the line number and local variable tables (use
     the -l option), and you can see first hand one of the areas we'll be
     fixing for future versions.

----------------------------------------------------------------------------

Learning more about it

Where is the language reference manual?
     A beta draft of the Java Language Specification in PostScript format is
     now available. Click here for a copy.

Where is the API documentation?
     Our API documentation is available at our web site in the API Packages
     Reference. You can also download documentation packages so that you
     don't have to browse externally for the information; for details see
     FTP Documents.
Why did you change the APP tag?
     We want to be SGML compliant, so that the APPLET tag can become part of
     the HTML standard. The APP tag had an unbounded number of attributes
     and was therefore not acceptable.

----------------------------------------------------------------------------
Last Updated: 12/12/95

Java Developers Kit 

