James Gosling announced that he is in Sao Paulo, Brazil for a Sun Tech Days event this week. In his post, he also states that two major FCS releases are also expected this week:
High on the exciting list are the joint FCS releases of
GlassFish V3 and
NetBeans 6.8
(probably on the 10th, depending on how the Release Gods smile).
James notes with enthusiasm the confluence of significant events with which this year is drawing to a close:
These are both hot after the
approval of the EE 6 ballot. The spec is done,
the implementation is done, and the tools are done. Things of beauty! Enjoy!!
Marcelo Carvalho Fernandes posted a comment saying he'll be at the Sun Tech Days event, adding:
JavaEE 6 is certainly the best news for Java this year and it shines with Netbeans 6.8.
The Java EE 6 approval is significant news. Even though the approval was not unanimous, the reasons for the no vote and two absentions was a dispute about licensing. All voters agreed that based solely on technical merits, the Java EE 6 specification deserved to be approved.
It's interesting to me that closures are being talked about as a means for enabling Java to meet "the multicore challenge." Because, don't Java EE 6 and EJB 3.0 already do that? In my conversation with Java Champion Adam Bien at JavaOne this past June, I was surprised to hear how lightweight EJBs have become. For example, here's a quote from the blog post I wrote about my interview with Adam:
Are EJB applications portable? Extensible? Many think not. But Adam shows that in fact these ideas are illusory, especially when it comes to EJB 3.
What about performance? Adam found a difference of only 3% between a well-designed EJB and an equivalent POJO in his testing. EJBs are actually lightweight in their minimal implementation. But, what they give you is free added capabilities that you don't have to develop and implement on your own - which you'd have to do if you were working on your own trying to extend a legacy POJO into the enterprise realm.
I found Adam's discussion of the conception that "EJBs are too complex" really interesting. I had suggested that the perception of complexity was one reason why developers avoid EJBs. Adam quickly distinguished "essential complexity" and "accidental complexity." Essential complexity is, for example, when you're working with distributed systems. You have to think about things like caching, synchronization. You can't have a genuinely working distributed system that doesn't fully solve these issues. So - do you want to develop your own infrastructure to solve these problems? Well, EJBs do it for you, for free.
So, is perhaps the news of Java EE 6 approval actually more significant for Java than the closures in Java 7 surprise?
Anyway, as James Gosling suggests, this really is an exciting and significant moment for Java.
This week I'm in Sao Paulo, Brazil for Tech Days. If you're in the neighborhood, come join us. We've got lots of great speakers who will be covering a wide range of topics. High on the exciting list are the joint FCS releases of
GlassFish V3 and
NetBeans 6.8
(probably on the 10th, depending on how the Release Gods smile). These are both hot after the
approval of the EE 6 ballot. The spec is done,
the implementation is done, and the tools are done. Things of beauty! Enjoy!! ...
Here's a quick question for you. I’m writing an upcoming article on Java Card 3 technology, and I’m curious to know if there are any questions about the platfrom that you’d like to see addressed in the article...
Long-time java.net author Jeff Friesen pointed me to his informative tutorial, MIDlets 101:
MIDlets are applications that run on devices supporting Java Micro Edition (ME)'s Connected Limited Device Configuration (CLDC) and its Mobile Information Device Profile (MIDP). This article introduces you to MIDlets via MIDlet fundamentals and examples...
Caching of an empty array is a well-known pattern to improve performance. However, it is difficult to use it in generified classes. Out of curiosity, I created a custom implementation of the array creation method based on Array.newInstance. To cache empty arrays, I use synchronized WeakHashMap, which maps any given component type to a weak reference to the corresponding empty array. This is not the fastest way, but it does not lead to memory leaks...
A small JAXB puzzle: how to define a custom element to serialize
Date objects with the TimeZone information? Piece of cake, isn't it? Try
it yourself and you will be surprised with the tricky details.
A friend of mine gave me a JAXB challenge this week: his company
already uses a customization of the xsd:date type in a
legacy code - mapped to a proprietary type instead of the default
Calendar type. Now they also need to represent Calendar objects in their
application schema, so they need to model the date objects as a custom
type. My first thought was about a five minutes hack, just defining an
element based on the xsd:date and use the JAXB
customization to map the new type to the Java Calendar type. After my
five minutes I got few issues...
I've previously blogged about the as(...)
pattern I'm using for my projects. In an email exchange with Taylor Cowan,
I've been made aware that Taylor
has been using this pattern since a quite a few time in his JenaBean
project (Jena
is another big player in the world of RDF and Java). A stripped down
pseudocode from his example...
In the Forums, youtianzui needs to Add other jar in wonderland: "I was trying to build another database in wonderland. Because when i log in, I need more information. I have made the code but I found that I can't add a jar of Mysql Driver into wonderland. But I see that the project can load jme.jar and so on . How..."
kcakir is Adding panels into a panel: "I am trying to develop a specific panel which includes 3 panels and one of them also includes 5 panels but only one of them seen on the screen the code: import java.awt.Color; import java.awt.Container; //import..."
And uvoigt is working with Logs of GC time: "Hi! my GC-logs contain the following message: 120669.158: [GC 120669.159: [ParNew Desired survivor size 10485760 bytes, new threshold 1 (max 4) - age 1: 17892440 bytes, 17892440 total:..."
Our current Spotlight is parts 2 and 3 of the Chris Wright and James Weaver article series "What's New in JavaFX 1.2 Technology." Both articles were published in November on the Sun Developer Network. Part 2 covers RSS, Storage, and Charts. Part 3 covers JavaFX Charts in greater detail. Thanks to Janice Heiss for pointing us to the latest additions to this series.
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.
Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.