Day 3 – The conference opened

December 15th, 2006 Mario Hochreiter

The keynote was hold by representatives of the sponsors of the JavaPolis 06. For Oracle presented their Application Service Suite and Sun of course was proud to officially announce the version 6 of Java as well as the movement from Java to open source.

The first talk I visited on this day was about Apache Tuscany hold by Andrew Borley. The decision for this talk was based on a conversation I had recently with my colleague Michael about thinking to use Tuscany in our project. The summary of this talk is that Tuscany seems to be a great to solve the problem of tying services together but it seems to be not production ready at the moment for our project needs.

After lunch Peter and I decided to watch Failure Happens by Bill Venners. This talk was mainly about best practices in Exception Handling. Afterwards we were watching the Brian Goetz sessions: Effective Concurrent Java and Java Performance Myths. The first session was about best practices in concurrent programming, most of them taken from his book. As I am already reading his book there was not to much new in it for me nevertheless watching Brain Goetz is an incredibly experience. The second part about Java Performance Myths was very impressing for me. He stated that in the beginning of Java (release 1.0), Java was really slow in every part but this has changed a lot till nowadays. The problem today is that there are a lot of “do it that way and you gain an performance improvement” on the web which maybe were useful (most of them were not) but nowadays can have a large performance decrease. The best way is just to get your program right and only if you experience performance problems then measure them and if you figured out the problem improve that piece. In most situations the JVM is a much better performance booster than the normal programmer. For example in modern JVM’s the allocation and deallocation of memory for Objects is more efficient that the C version malloc/free. He also stated that due to the dynamicity of the JVM it is very hard to do benchmarking and if you do not understand what’s the JVM doing internally you should never rely on Micro benchmarks. The reason for that is that you do not know what happened during measurement. It is possible that the class was interpreted or already compiled to native instructions or was in the progress of being compiled. There are much more things to consider one thing I’d like to mention is code erasure by the JVM. Most times when you write Micro benchmarks you do not use the computation result you wanted to measure but this could cause that the JVM erasures the code for computation and you are only measuring the time between where nothing really happened besides the System.currentTimeMillis() call.

In the evening we were attending the “Free Beer” session called “Meet and Greet” where we were drinking free beer with some of our “idols”.

Entry Filed under: JavaPolis06

1 Comment Add your own

  • 1. Valarie Steele  |  November 13th, 2008 at 5:52 am

    9yly44ckqcujswqj

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Calendar

December 2006
M T W T F S S
    Jan »
 123
45678910
11121314151617
18192021222324
25262728293031

Most Recent Posts