Moderator (MDR): Andrea:
Guest-Speaker (SPK): Mark Reinhold
MDR-Andrea: Happy New Year and welcome to Java Live. Today's
topic is the JDKTM 1.2. Our guest is lead engineer Mark Reinhold. We are
ready to go, so please begin to send in your questions.
For those not familiar with moderated forums, questions appear
privately to me first, and then I forward them into the forum
for everyone to see.
johar: What updates, if any, have been made to RMI
in JDK 1.2?
SPK-Mark: Perhaps I should start by saying that there's an
awful lot of new stuff in JDK 1.2. As lead engineer I'm familiar with some,
but not all, of the new features. I can best answer questions about I/O, the
VM, garbage collection, the compiler, and the core packages
(java.{lang,io,util,net}). I'll do my best with questions in other
areas, but in many cases I'll have to refer you to the JDK 1.2 release
documentation on the web site.
RMI is, I'm afraid, one of those cases.
ajayebi: Will HotSpot be in JDK 1.2? What is the time
frame? Does JavaSoftTM or SunSoftTM have plans to offer native compiler
for SparcTM?
SPK-Mark: The HotSpot VM is not slated to be part of JDK 1.2
itself, though we do plan to ship it at about the same time. If by "native
compiler" you mean a static compiler for the Java platform, I don't know
of any current plans in JavaSoft to produce one. I can't speak for SunSoft.
shangc: Can you tell us whether HotSpot will live up
to the promise that it will meet or beat C++ compiled code?
SPK-Mark: I can't say much about particular HotSpot
performance results. The HotSpot team has been making very good progress, and
I've seen some impressive demos. I'm pretty confident that it will do quite
well.
derocher: I'm concerned with the deprecated thread
methods. Are there examples available to help us avoid using these methods in
the future?
SPK-Mark: In the release notes there's a fairly complete
explanation of why we deprecated certain methods in the Thread class.
It contains suggestions on how to avoid using them in new code.
derocher: What is the current time frame for
releasing the "final" version of JDK 1.2?
SPK-Mark: Second quarter of calendar year 1998.
EdL1: What platforms will the HotSpot VM support? How
will it be distributed/marketed?
SPK-Mark: Initially the HotSpot VM will run on Win32 and
Solaris. I'm not sure about the distribution and marketing plans.
minchang: I looked at the servlet extension in JDK
1.2 beta and found some changes in the servlet API compared to JavaTM Web
ServerTM 1.1 beta. Will the API change on the road to a JDK 1.2 production
release? What's the relationship between the servlet API in JDK and the servlet
API in the Java Web Server?
SPK-Mark: The servlet API in the JDK is intended to be in sync
with the API shipped with the Java Web Server. It might be refined a little bit
more, but once JWS 1.1 ships (or JDK 1.2 ships, I don't know which is scheduled
to be first) it will be frozen.
Freddie: I have a question about JavaSound. In the
Java Sound FAQ I read that it will be distributed in two phases. The first part
ships with JDK 1.2 and the full-featured API will ship shortly after the JDK
1.2 release. I'm interested in the second part: When will this API be in early
access? Or is it possible to beta test it? (I hope this question isn't too
off-topic.)
SPK-Mark: My understanding is that the JavaSound API will ship
as a standard extension some time after JDK 1.2. I suggest you contact the Java
Media folks (there should be an email address in the FAQ) for more complete
information.
derocher: What plans exist to help Netscape
incorporate JDK 1.2 functionality? We are now at least 10 months past the
final version of JDK 1.1 and Netscape has yet to be able to handle all
of its functionality. What assurances are there that we won't have to wait
until mid-1999 for Netscape to support JDK 1.2?
SPK-Mark: We are very much aware of the fact that Navigator
still hasn't caught up with JDK 1.1. We're working very closely with Netscape
to ensure that Navigator will be compliant with JDK 1.2 soon after 1.2 ships,
but I really can't say more about our specific plans.
edgarn: How close is the garbage collector to being
"non-disruptive"? Is it still extremely expensive to do a
System.gc() call?
SPK-Mark: The garbage collector is quite a bit faster in JDK
1.2 than in previous releases, though it can still be somewhat disruptive. The
HotSpot GC is much, much better in this regardin typical use its pauses
are well under 100 milliseconds.
The cost of calling System.gc+ depends upon the size of the heap
and the amount of live data within it. In general this will always be
potentially expensive, even with the HotSpot GC, since System.gc
forces a GC of the entire heap. We don't recommend that applications call this
method during ordinary operation.
kchaganti: What is JavaBlend release or prerelease
date?
SPK-Mark: JavaBlend is not part of the JDK. I know nothing
about its release schedule.
bst5qi: Is it possible to detect and react to user
shutdown in JDK 1.2? In JDK 1.1 there is no such possibility and an application just is finished on user shutdown without a chance to do some cleaning up!! And will the quality of the AWT finally become acceptable, the fifth bug fix release of JDK 1.1 is out and still the AWT's quality hasn't improved remarkingly (still crashes and deadlocks...)? Are you at JavaSoft really aware of the poor quality of the JRE?
SPK-Mark: I assume that by "user shutdown" you mean catching
^C (or whatever is appropriate for the platform). No, we haven't added this to
1.2, though it has been discussed. If this is important to you I suggest you
file an RFE through our bug-tracking system.
By the way, in general filing RFEs is a very good way to make suggestions about
what you'd like to see in the JDK.
We're very aware of the quality problems with the AWT. We have many more people
working on it now than ever before. Look for significant improvements in both
JDK 1.1.6 and JDK 1.2.
jbrasch: Will there be a BeanBox beta for 1.2 that
demonstrates some of the new bean functionality?
SPK-Mark: Sorry, but I don't know the answer to this question.
I suggest you contact the JavaBeansTM team directly, using the email
address at the bottom of the Beans web page.
mzimmerm: There has been some speculation that the
"platform tuned" HotSpot may be sold separately. Are you in a position to say
whether this has any substance and if so, would it mean that "Platform tuned"
HotSpot would not be part of the publicly available JDK?
SPK-Mark: I don't know exactly what has been announced
regarding the sales and distribution of the HotSpot VMs, so I'll play it
safe here and say "no comment."
drpierce: What are Sun's plans to release the Java
Shared Data API as a release as opposed to a research project?
SPK-Mark: I have no idea what the "Shared Data API" is. Does
it have some other name?
drpierce: The Java Shared Data API (JSDA) had been on
the API roadmap with the 2D and 3D APIs. These APIs were released with the JDK
1.2 beta without the JSDA. From URL
http://developer.javasoft.com/developer/
misc/jsda/jsda.html,
The Java Shared Data API (JSDA) defines a multipoint data delivery service that
supports highly interactive, collaborative, multimedia applications. The last
update by Rich Burridge was version 1.09 in Oct 97.
SPK-Mark: Ah. I'm afraid I don't know the answer to this
question. I suggest you contact the 2D team directly.
rlowe1: Hello, What kind of support for LDAP will
there be in JDK1.2
SPK-Mark: Currently there are no plans to support LDAP
directly in JDK 1.2. It is supported by the JavaTM Naming and Directory
InterfaceTM (JNDI), which is slated to ship as a separate product.
glen_s: In Java 2D, could you give any explanation of
the differing raster types--specifically, component raster versus packed raster.
Where would you use each one? Which would you use for a 16-bit gray scale
image?
SPK-Mark: Sorry again, but I haven't had much time to play
with the new 2D features, so I don't know the answer to this question.
mzimmerm: I have been using Swing for a while and I
am excited by it. In general, is JavaSoft's position that developers should
not use heavyweight AWT components at all in the future? (I for one, do not
intend to ;-)
SPK-Mark: I can't speak to JavaSoft's "official position" on
this. It certainly seems that the intent of the Swing team is to make
heavyweight AWT components a thing of the past, and I can say from my own use
of the Swing APIs that I can't see any reason to go back.
MaryJaneSoft: What is the most significant change
between JDK 1.1 and JDK 1.2?
SPK-Mark: That's a very difficult question. I think it really
depends upon how you use the JDK. For folks writing GUI applications, by far
the most significant new features are the Swing APIs and the other JFC APIs
(2D, drag & drop, etc.). The new security features are also pretty
significant. Finallyand this is something that hasn't been touted
muchthe VM is much more robust than in JDK 1.1. This will mean a lot to
people using the JDK in mission-critical applications.
danno: Are there any plans to add new demos to the
JDK 1.2 shipment to show off the new special features?
SPK-Mark: We've already added some JFC demos, in particular
several demos of the Swing APIs. There are a few more in the queue. There will
also be a fair amount of illustrative code in the documentation download.
derocher: Can you give us some insight into the time
frame for the release after JDK 1.2? Will version 1.2 be around as long as
version 1.1 has been? Or are there plans to put out another version's beta
sometime in 1998?
SPK-Mark: It's very difficult to predict the future. I expect
we'll be doing bug-fix releases of JDK 1.2 for quite some time after the
release. I can't say much about our post-1.2 plans at this point.
jdempsey: Are there plans to include an ORB in JDK
1.2? If so, will it make products like Visibroker and OrbixWeb obsolete?
SPK-Mark: JDK 1.2 includes IDL support. I'm afraid I don't
know whether or not that means we're shipping an ORB. I suspect we are, but
IDL is another one of the features I don't know much about.
frankbert: Is JDK 1.2 going to come with some kind
of byte code to native assembly code compiler? I realize that this may violate
some notions of Write Once, Run AnywhereTM, but having an executable is
definitely a good thing.
SPK-Mark:
JDK 1.2 does not include a static compiler. It does support "Java executables,"
which allow you to set up a Java program to be invoked by double-clicking or
via the command line on many systems. In combination with HotSpot, this feature
should give you most of the benefits of static compilation while still being
true Java.
derocher:
You mention that the VM is much more robust in JDK 1.2. Would you elaborate on
that comment?
SPK-Mark:
A good example of how we've made the VM more robust is the complete rewrite of
the class loading and linking code that was done for 1.2. This eliminated many
pernicious race conditions and deadlocks. We've done a lot of work in other
areas that have improved the VM's quality.
MDR-Andrea: Thanks to everyone for joiningespecially
Mark. We've run out time for this week, and unfortunately we weren't able to
get to all of the questions. You can send further comments and questions to
jdk-comments@java.sun.com.
Be sure to join us next week for a discussion of Swing
and Java Foundation Classessame time, same place.