Java(tm) Developers Kit

Version 1.0 Beta 2

Frequently Asked Questions - Java(tm) Developers Kit


Availability/downloading

What's included in the Java Developers Kit (JDK)?
It has several components:
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:

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:
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:
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:


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: 05 Jan 1996

Java Developers Kit