![]() |
|||
![]() ![]() |
![]() |
![]()
|
![]() |
Where is the documentation?Until this book, there have been three main sources for information about Java internals. The first source is alpha releases. Far more of Javas internals tend to be exposed and documented in alpha versions than in later releases. Although many details have since changed, the HotJava 1.0a3 release provides a broad picture of many otherwise undocumented features that remain in Java 1.1. Alpha versions of other technologies like the Java Web Server (originally called Jeeves) and Remote Method Invocation (RMI) can be similarly useful. While a technology is being developed, its often completely open for inspection because Sun hasnt yet decided which parts to document and which to hold to themselves. Once the product is shipped, however, previously open classes can be closed off. This is one reason why the alpha versions of Java still reveal a great deal of information that is otherwise unavailable. Of course, as time passes, these alpha versions become a progressively less reliable guide to current technology, so any information garnered in this fashion must be verified and tested. Nonetheless, an alpha version is often a useful starting point. The second source of information is the source code itself. The JDK includes source code for all the classes in the java packages. Furthermore, Sun freely licensed the full source code for Java 1.0 for non-commercial use, such as for education and personal edification. Regrettably, this commendable policy of openness has been rescinded with Java 1.1. Now, source code for the sun classes is available only to commercial licensees willing to shell out big money. Nonetheless, the available source code for the java packages and for Java 1.0 still reveals much that is not obvious from the official documentation. The third source of information is first-hand communication with Suns Java team. Regrettably, but necessarily, this access has so far been restricted mostly to Sun commercial licensees lsuch as Netscape and Symantec. It is not reliably available to the general public. However, many members of the Javasoft team do participate in various Java newsgroups and mailing lists and do post information that hasnt been revealed through more official channels. The Sun-sponsored mailing lists for unreleased products seem to be particularly fertile sources for direct interaction with Javasoft team members. Programmers are often more loquacious about their thoughts, ideas, and problems when theyre still looking for a solution than they are once theyve found it. Although these are all useful things to avail yourself of, the average programmer should hardly be expected to use these informal and incomplete mechanisms as his or her sole source of information. This book is therefore designed to collect and organize much information that has been previously either inaccessible or inconvenient to come by for the vast majority of Java programmers. The source codePrior to Version 1.1, Sun made the source code for the Java Development Kit (JDK) fairly freely available. It was not difficult to get a source code license for personal or educational use. In addition, both Java 1.0 and 1.1 included the source code for the Java classes in the base distribution. However, full source code for the JDK 1.1 is now available only to Javas commercial licensees and a few, select others such as the Linux development team. Apparently the commercial licensees were more than a little peeved that Sun was giving away what they had paid substantial sums of money for, so Sun began restricting access to the source to make them happy. This policy may or may not be relaxed in the future. Nonetheless, you should get a license to the source code for whatever version you can come by, even if its a few releases out of date. Some classes have changed a great deal, but many are substantially unchanged since the early alphas.
|
![]() |
|