
Wednesday May 17, 2006
JavaOne 2006: Tuesday, May 16
On Tuesday, I attended the following talks.
- general session (keynotes)
- Java and REST -implementing ATOM (session)
- Deployment Modules for Java (BOF) JSR-277
- Dynamic scripting languages for Java (BOF)
In addition, I had to be at Sun booth for "Java Performance and Diagnostics".
Key points on keynote
- On Open sourcing Java: "it is not whether we'll open source, it is the question of how"
- Become a JCP member today -- visit http://jcp.org
- Java runs on many devices now -- cellphones market size is way beyond that of PCs.
Java and REST
If you have been following Tim Bray
on WS-*, you'll appreciate REST. I liked this talk. The speaker (Dave M Johnson) explained how to
ROME based framework is used to create REST based service for blogging. I need to learn more on this area.
Deployment modules for Java
The speaker (Stanley Ho) mentioned about "Jar hell, classpath hell" and what is the other one -- I forgot
. It is difficult to manage complex java apps that use many jar files, different version of it and native code, many resources. The deployment modules JSR tries to solve module dependency, versioning, repository, native code management etc. for Java. It is expected to
work closely (and compatibly) with Development modules for Java.
Dynamic languages BOF
This was a very lively interactive discussion on scripting languages in Java space. Frank Cohen presented a very nice summary. Many heavyweights of scripting world (JRuby, Jython folks for example), Tim Bray, Roberto Chinnci attended this talk. I had chance to meet these people (and few Sun folks with whom I just had email contact!).
Someone asked about Lisp on Java -- there are few -- I like SISC - Scheme implementation for Java - http://sisc.sourceforge.net/. And
if you want to try out JSR-223 API for your scripting language, you may want to check
out http://scripting.dev.java.net
Few freqeuent questions (and answers) in "Performance and Diagnostics" booth.
- Where can I find "Visual GC"?
- http://management.netbeans.org/visualgc/index.html
http://java.sun.com/performance/jvmstat/
- Does jconsole for JDK 6 works against application running on JDK 5?
- Yes
- How do I get heapdump of a running Java application?
- With Mustang, there are many ways to get Java
heap dump of a running process.
- using the new -dump option with jmap tool
- using JVM command line option -XX:+HeapDumpOnOutOfMemoryError
- using hprof profiler with application
- How do I analyze the heapdump?
- use jhat tool.
- Where is jconsole?
- Starting from JDK 5.0, it is shipped with JDK. Look for "jconsole" in your $JDK_HOME/bin
directory.
- I am running 1.4.2_xx. How can I use heapdump?
- jmap has been backported to 1.4.2 and 5.0 update releases. Please use latest update releases. And yes, Mustang's jhat can analyze dumps from older JDK releases. There is no
need to run your application on JDK 6 (although we would recommend that
) to get heap dump. You can get your heapdump from older JDK release and use Mustang's jhat.
- Do I need to make application modifications to use jconsole?
- To use platform observability (like observing GC, classloading, threads etc.), you don't need to make any changes to Java application. But, if you want to make your application
observable, you have to instrument it with suitable JMX MBeans.
- Do I need to any special flag to use jconsole against my application?
- Yes and no. If you running Mustang and you want to observe a local Java process, you
don't need. If you are using Tiger, you need to start the app with -Dcom.sun.management.jmxremote option.
- You showed me DTrace
with Java. It is great! How do I try it?
-
You need to use Solaris 10. If you want to try it out without installing, you may want
to try Belenix
- an OpenSolaris distro that can boot straight from CD. So, you can boot it from CD and play with Solaris 10! I am sure you'll like it..
( May 17 2006, 09:11:49 PM IST )
Permalink

|

|

|

|

|