
This collection of frequently asked questions (FAQ) provides brief
answers to many common questions about the Sun Java Platform, programming language, and the
Java 2 Platform. It also provides links to more detailed
information available from this web site. Please check here for
answers before posting a question to one of the Java technology-related
newsgroups or before sending email to any of the addresses at Java Software e-mail addresses. A. Getting started with Java: availability, latest
releases, ports, downloading, installing, Java technology
B. Getting information and staying in touch:
the Java name, documentation of all sorts, newsgroups,
mailing lists, Java class courses, bug reports
C. Java technology-enabled Netscape:
which versions, alpha/beta applets
D. Marketing, licensing, and planning:
licensing, logos, plans
E. Troubleshooting:
error messages
We try to make as much information as possible available through our
Web site, http://java.sun.com/.
If you have trouble finding the information you need there, please let us know.
A1. What releases of Java technology are currently available? What do they contain?
A2. What platforms is the JDK software available on?
A3. Should I use the Production Release or Reference
Implementation of the Solaris JDK software and JRE?
A4. What about a version for my favorite platform? When can I get it?
A5. How do I download Java technology and/or JDK software? How do I install it?
A6. Where can I find information about HotJava?
A7. How can I get started with programming in Java?
A8. Do I need special server software to use applets?
A9. Who is licensing Java technology?
A10. Is JavaScript available? How do I find out more about it?
A11. What are the security problems I've heard about JavaScript scripts?
A12. I can't find the API documentation on any classes in the sun.* packages.
A13. Why developers should not write programs that call 'sun' packages
A14. Where can I get the Java programming language source code?
A15. What is the Java Version/Naming convention?
A1. What releases of Java technology are currently available? What do they contain?
The Java programming language is currently shipping from Sun Microsystems, Inc.
as the Java 2 SDK and Java 2 Runtime Environment.
All Sun releases of the Java 2 Platform software are available from the
Java 2 Platform software home page (http://java.sun.com/j2se/).
Each release of the Java 2 SDK, Standard Edition contains:
- Java Compiler
- Java Virtual Machine*
- Java Class Libraries
- Java AppletViewer
- Java Debugger and other tools
- Documentation (in a separate download bundle)
To run Java 1.0 applets, use Netscape Navigator 3.x or other
browsers that support Java applets. To run Java 1.1.x applets, use
HotJava 1.x or Netscape Navigator 4.x or other browsers that support
the newest version of the Java API.
A2.What platforms is the Java-technology software available on?
Sun provides ports of the Java 2 Platform for Windows 95, Windows 98,
Windows NT, Windows 2000, Solaris-SPARC, Solaris-Intel, and Linux.
A3. Should I use the Production Release or Reference Implementation of the
Solaris JDK software and JRE?
The following applies to versions prior to 1.3.0. Starting with
J2SE 1.3.0, only the production release exists. There is no
Solaris reference implementation.
Reference Implementation -
Those who want the latest Solaris implementation of the JDK software or JRE release
and do not require optimized performance can obtain the reference
implementations:
The Solaris binaries are built from the same source code as the Windows
version. The 1.1 reference implementations for Solaris
do not include a JIT. Reference implementations are distributed as
(essentially) a tar file which may be unpacked in any directory, so that root
permission is not required for installation.
Production Release -
In contrast, customers whose applications/applets will be released as products,
and who need a Solaris JRE or JDK software with optimized performance,
should use the Solaris production releases:
The production releases are based on the reference implementation
of the same version number, and include a JIT compiler, additional performance
tuning, and bug fixes. The production releases are installed as standard
Solaris packages, which require root permission for installation.
Varying levels of technical support are available for both
the Reference and Production releases through the standard Solaris
support channels.
For a further overview of differences between these Solaris JDK software offerings, see
JDK 1.1 for Solaris
-
Binary Products Overview and the
FAQ for the JDK Solaris Production
Release.
A4. What about a version for my favorite platform? When can I get it?
These are extremely popular and important questions. What we can
currently say is:
Amiga, NeXT, OS/2, Windows 3.1, Windows 32s, Macintosh, ...
We've provided our source code to make third-party
ports like these possible, but we are not officially overseeing
or tracking them. For more information, please check out:
Platforms Supporting Java technology (http://java.sun.com/cgi-bin/java-ports.cgi)
A5. How do I download Java technology and/or Java 2 SDK software? How do I install it?
You can get our releases either with a World Wide Web (WWW) browser
or by anonymous ftp. For details, including installation
instructions, visit:
The Java 2 Platform web site (http://java.sun.com/j2se/)
Choose the software you want, and go from there.
A6.
Where can I find information about HotJava browser?
The current version of HotJava browser is 1.1Beta1 and is available at
HotJava.
This page has links to an email address for comments and
to HotJava browser known bugs.
A7. How can I get started programming in the Java programming language?
See our page which can guide you in the right direction:
Getting Started with Java technology.
A8. Do I need special server software to use applets?
No. Java applets may be served by any HTTP server. On the server
side they are handled the same as any other file, such as a text,
image, or sound file. All the special action happens when the applet
class files are interpreted on the client side by a Java technology-enabled
browser, such as HotJava browser or 1.x or Netscape 3.x/4.x.
A9. Who is licensing Java technology?
See our "Who's Licensing Java?" page:
Who's Licensing Java?
(http://java.sun.com/licensees.html)
A10. Is JavaScript technology available? How do I find out more about it?
The initial version of the JavaScript technology is available in current releases
of Netscape Navigator 3.x. For more information, including a pointer
to the full press release, see the Netscape JavaScript technology page:
Netscape JavaScript
A11. What are the security problems I've heard about JavaScript technology scripts?
JavaScript technology is a scripting language used with Netscape Navigator.
There have been reports of privacy problems with JavaScript technology, and
Netscape is committed to addressing those concerns. JavaScript technology cannot
be used to invoke Java applets. The privacy problems reported with
JavaScript technology are not present in Java applets.
A12. I can't find the API documentation on any classes in the sun.* packages. Where is it?
The short answer is that we provide documentation only for
the public classes in java.*. We do not provide
documentation for sun.* because those are the Sun-specific
implementation, and specifically not part of the Java technology API standard,
and are therefore subject to change without notice.
In general, we don't provide javadoc documentation for sun.* classes
in order to discourage developers from writing programs that use them.
For further explanation, see the next question.
However, if you must have it, the documentation for sun.* is available
in the doc comments in the community source code release available separately,
mentioned in question A14. For
example, the doc comments for sun.net are in the source files located
at:
/src/share/sun/sun/net/*.java
This source code release does not include javadoc-generated documentation.
You would have to generate those docs yourself using javadoc.
A13. Why developers should not write programs that call 'sun' packages
Java Software supports into the future only classes in java.* packages, not
sun.* packages. In general, API in sun.* is subject to change at any
time without notice. For more details, see the article
Why Developers Should Not Write
Programs That Call 'sun' Packages.
A14. Where can I get the Java programming language source code?
Java Software has two separate bundles of source code that you can obtain
at no charge:
- The Java 2 SDK, Standard Edition itself contains
a file called
src.zip that contains the source code
for the public classes in the java package. Because
this does not contain sun.* classes, you cannot do a complete build
of the Java technology from these source files. These source files are for your
information, to supplement the documentation, so you can see how
Java technology works. - The full source code release is available
from us by going to the Community Source Code Licensing
web site..
B1. Where did the Java name come from? What does it stand for?
B2. Can the Java software team keep me informed of latest developments?
B3. What newsgroups carry information about Java technology?
B4. What email addresses are available?
B5. What documentation is available? In what formats? How can I get it?
B6. Can you send me information by regular mail or by email?
B7. Can I be an alpha or beta tester?
B8. Are Java programming language courses available? Where? At what price?
B9. How do I file bug reports or feature suggestions?
B1. Where did the Java name come from? What does it stand for?
The name was chosen during one of several brainstorming sessions held
by the Java software team. We were aiming to come up with a name that evoked
the essence of the technology -- liveliness, animation, speed,
interactivity, and more. "Java" was chosen from among many, many
suggestions. The name is not an acronym, but rather a reminder of
that hot, aromatic stuff that many programmers like to drink lots of.
B2. Can the Java software team keep me informed of latest developments?
We no longer keep a list of people to inform; when we started that, we
never expected that so many people would be writing to us every day!
If you'd like to keep informed, the best way is to visit our Web site
Java Software Home Page (http://java.sun.com/)
periodically and participate in the Java technology-related newsgroups. Note in
particular that our "What's New" page:
What's New at Java Software
(http://java.sun.com/features/index.html)
provides an overview of the most recent developments, press releases,
and so on concerning Java technology.
B3. What newsgroups carry information about Java technology?
Several newsgroups are currently available, including:
comp.lang.java
comp.lang.java.advocacy
comp.lang.java.announce
comp.lang.java.api
comp.lang.java.beans
comp.lang.java.databases
comp.lang.java.gui
comp.lang.java.help
comp.lang.java.machine
comp.lang.java.misc
comp.lang.java.programmer
comp.lang.java.security
comp.lang.java.setup
comp.lang.java.softwaretools
comp.lang.java.tech
comp.lang.javascript
|
B4. What email addresses are available?
Information about our internal e-mail addresses is available at
Java Software e-mail addresses.
B5. What documentation is available? In what formats? How can I get it?
We provide a wide range of documentation (white papers, API
specifications, programmer's guide, and more), reachable from our
documentation page:
Documentation Index (http://java.sun.com/white/)
Most of our documents are available in HTML, PostScript
and PDF formats.
B6. Can you send me information by regular mail or by email?
Sorry, but we're mainly set up to distribute information through our Web
site (http://java.sun.com/) and ftp
site (java.sun.com). We want to get as much information out and
available as possible, but we can only handle the volume via these
customer-initiated mechanisms.
B7. Can I be an alpha or beta tester?
Yes, that's essentially what you're doing when you use our beta
release software and send in bug reports. We generally don't have
separate formal programs for early-release testing.
B8. Are Java programming language courses available? Where? At what price?
SunService is providing Java programming language courses at
sites around the world; see
Sun Educational Services (http://www.sun.com/sunservice/suned/)
B9. How do I file bug reports or feature suggestions?
See instructions on our bug report page:
Submitting a Bug or Feature Request
We will not be able to acknowledge each report individually. Please
accept our gratitude in advance -- your feedback is crucial to our
work.
C1. Can all Netscape 3.x versions run Java applets?
C2. Can you help me with using Java technology in Netscape?
C1. Can all Netscape 3.x versions run Java applets?
Netscape 3.x supports Java 1.0 applets on many but not all platforms. See
the release notes for your platform at:
Netscape Navigator
Java technology-enabled versions of Netscape 3.x will only run beta and 1.0.2 applets,
which can be written with the 1.0.2 Java Development Kit (JDK). Be
aware that there are many Web pages with alpha applets, which Netscape
3.x will not handle. You can distinguish between alpha and beta
applets by looking at the html source for a page: alpha applets use
the <app> tag, whereas beta applets use the <applet> tag.
Hotjava browser and Java technology-enabled versions of Netscape 4.x will run 1.1.x
applets, which can be written in with JDK 1.1.x.
C2. Can you help me with using Java technology in Netscape?
For questions that specifically concern installation, troubleshooting,
feature availability, and how to do something specific with applets in
the Netscape browser, it's best to ask Netscape directly. For
instance, to report Netscape bugs, you can use:
Netscape Bug Report
D1. Is Java technology free? Where can I get information on licensing?
D2. Can I use Sun's Java technology logo?
D3. What are your plans for XXX functionality? Why haven't you done YYY?
D4. Can you comment on company ZZZ's plans for licensing and using Java technology?
D5. How can I invest in Java on the stock market?
D1. Is Java technology free? Where can I get information on licensing?
The Java Development Kit (JDK) is free to download and use for
commercial programming, but not to re-distribute. We have
guidelines on our web site for using and/or licensing Java
technology; see
Licensing Information
(http://java.sun.com/nav/business/)
D2. Can I use Sun's Java technology logo?
Sun does not authorize the use of the Java logo.
For more information about this and other special developer logos,
please see:
Java Trademark Guidelines
D3. What are your plans for XXX functionality? Why haven't you done YYY?
We welcome all input regarding Java technology -- we will read and
consider it. We're keeping many more options in mind than appear in
our current releases. However, because we are focusing on moving
toward our next release, we have time to answer only a small
number of such questions. See:
Contacting
Java Software
D4. Can you comment on company ZZZ's plans for licensing and using Java technology?
No, we need to let other companies speak for themselves. We can only
refer you to official press releases. For pointers to recent press
releases, see our "What's New" page:
What's New at Java Software
D5. How can I invest in Java technology on the stock market?
Java technology is a product of Sun Microsystems, Inc., which is traded
on NASDAQ under the symbol SUNW.
E1. Will Java technology work with DOS file name limitations (8.3)?
E2. javac: Superclass java.applet.Applet of class HelloWorld not found.
E3. How do I stop the copyright notice from appearing every time I start the Windows NT/95 version of appletviewer?
E4. My virus-checker program claims to have found a virus in some of the JDK software files. What's going on?
E5. Why do I get a NoClassDefFoundError when I try to run my HelloWorld app?
E6. Why are Java applets and other interactive content behaving differently in Microsoft® Internet Explorer?
E1. Will Java technology work with DOS file name limitations (8.3)?
Java technology relies on files with longer names than the old DOS limits, so if
you are running older (pre-Microsoft Windows 95) versions of DOS, Java technology will not
work. If you are running a version of DOS (such as the one that comes
with Windows 95) that allows long file names, you should not have any
problems.
Note that older versions of WinZip do not support long file names,
even if the installed version of DOS does. You can get a free upgrade
of WinZip with support for long file names from their web site.
E2. javac: Superclass java.applet.Applet of class HelloWorld not found.
The examples in the programmer's guide have been updated to conform to
the new applet API in our 1.0.2 Java Development Kit (JDK).
"Superclass not found" error messages are typical if you try to compile
Java 1.0 beta code with an alpha version of javac. The recommended fix is to
download a copy of the JDK software, and do all further development with that.
Another potential source of this error message is incorrect
capitalization of either the file name or the class name in in the
file. The Java technology system is case-sensitive, so a HelloWorld class is
different from a helloWorld class, and so on.
E3. How do I stop the copyright notice from appearing every
time I start the Windows NT/95 version of appletviewer?
The appletviewer looks for a .hotjava directory inside your home
directory to determine whether you are starting it for the first time.
If the directory is not found, the appletviewer will pop up the
copyright notice. The workaround is to manually create the .hotjava
directory in your home directory. The following paragraphs explain
how to do this.
The appletviewer is written to recognize three MS-DOS environment
variables for the location of a user home directory: it uses either
HOME or the combination of HOMEDRIVE and HOMEPATH. Under Windows
NT3.51, the HOMEDRIVE and HOMEPATH environment variables are set
automatically. Under Windows 95, you will need to set the HOME
environment variable to point to an existing directory.
Once your home directory is set, all you need to do for Windows NT3.51
is to create the .hotjava directory inside of it:
mkdir %HOMEDRIVE%%HOMEPATH%\.hotjava
In Windows 95, the easiest method is to edit the AUTOEXEC.BAT file,
adding the following line:
set HOME=C:\
Then save the file and reboot, so that the change to take effect.
Once your computer has rebooted, open a DOS window and execute the
following command:
mkdir %HOME%.hotjava
E4. My virus-checker program claims to have found
a virus in some of the JDK software files. What's going on?
Although your virus checker may have discovered a real virus, you
should consider the possibility that a false detection has occurred.
Virus-checker programs can mistakenly find "viruses" in parts of the
JDK software where there really is no virus. This can happen when the virus
checker detects a bit pattern in a class file that, by chance, matches
a bit pattern in a virus. The types of viruses that can infect
.exe or .com files typically cannot infect class files or jar
files.
E5. Why do I get a NoClassDefFoundError when I try to run my HelloWorld app?
The problem is probably that your HelloWorld.class file is not
on your class path. The class path is the list of one or more
directories in which the java application launcher will look
for the .class files comprising your application. So, how to
specify the class path?
If your program depends only on the J2SE classes, you should not need
to use classpath, because those classes are automatically on the
classpath. If your program depends on other classes, you need to set
classpath to those classes. In that case, it is preferable to use
the -classpath option rather than the CLASSPATH environment variable,
as the -classpath option enables each application to have its own
classpath. For more details, see:
Please send questions to the
Compiling forum
where others can help you.
The following assumes you're running Windows 95/98/NT/2000.
There is a CLASSPATH environment variable. You can see which
environment variables are set on your machine by running
'set' at the DOS prompt. If the CLASSPATH variable is set,
then its value is your class path. If the CLASSPATH variable
is NOT set, then the default class path is the current directory
(i.e. whatever directory you run 'java HelloWorld' from).
So if you are trying to run 'java HelloWorld' from the directory
in which the HelloWorld.class file is in, and you get the "can't
find" error, it's probably an indication that you have the
CLASSPATH environment variable set. Try unsetting the
CLASSPATH variable: 'set CLASSPATH=' (i.e. setting it to no value
is the same as unsetting it). Then try running your
application again. Because the CLASSPATH variable isn't set,
the class path should default to the correct directory, and
your app should launch.
Altenatively, you could set the CLASSPATH environment variable
to point to the location of your HelloWorld.class file. However,
you'd run into the same "can't find" error if you then tried to
run another application located in another directory.
You can also force the class path to be a particular value by
using the -classpath option: 'java -classpath C:\myprograms\ HelloWorld'
See class path information in the Java 2
tools documentation for more information.
E6. Why are Java applets and other interactive content behaving differently in Microsoft Internet Explorer?
A recent update to Microsoft Internet Explorer included a change that alters the way users interact with applets and other interactive content in the browser. With this change, users are first required to manually activate (click on) the applet's user interface, before the user can interact with the content. If the page has multiple interactive components, users are required to activate each user interface individually.
It is possible to get the old behavior back. Microsoft has published a general solution for updating web pages that restores the user experience. For more information, see the Microsoft article Activating ActiveX Controls. Working with Microsoft, Sun has developed an Internet Explorer deployment guide customized for Java developers, which provides examples on how to leverage the Microsoft work around, and minimize user impact of the Internet Explorer update.
*As used on this web site, the terms "Java virtual machine" or "JVM"
mean a virtual machine for the Java platform.
|