The Planetarium

           Java for all clients: Java SE, Java ME, JavaFX and JavaCard

JDK Watch: Back to school

Filed under: javase jdk7 on Tuesday Sep 15, 2009

What with zipping all over the place to talk to folks about using JavaFX, and the quarterly JCP EC meeting, the Janitor has so much news saved up !

Things are never dull around the JDK, and in the back to school rush, there's been plenty going on. Sadly, the Swing Application Framework hasn't reached a point where its ready to be included in JDK 7, but most all of the other features are on track since milestone 4 was released. As you can see in the latest builds, the team continues to tweak the new garbage collector and Project Coin announced its additions to the Java language.

Tomorrow, its the start of the annual JVM language summit, with a great looking schedule lined up. It seems that there's another language other than Ruby and Python: Duby (ok, its a hybrid) that's now using invokedynamic to speed its execution.

There's also more signs of developers trying out JDK 7. The new Filesystem API designed in JSR 203 seems to be a major attraction, indeed, for some, enough in itself to justify an upgrade. And there are more signs that its going to be fast, especially when Jigsaw is included.

See you at Devoxx 09 ?

Filed under: devoxx javafx jdk7 on Wednesday Aug 26, 2009

The Devoxx conference is something of a shapeshifter. One of the 'european JavaOnes', it grew out of the Belgian JUG, has undergone a number of name changes, and now has shifted up a month, starting this year on November 16th instead of its early December slot.

One thing has remained consistent though: its a well-attended conference with a lot of up to date and high quality technical content.

For anyone interested in JDK 7, or JavaFX you should hop online and get planning: many of the Sun engineers involved in those projects are already signed up to speak.

Under the hood with Garbage First

Filed under: jdk7 on Tuesday Aug 25, 2009

There's an interesting article over at Dr Dobbs about the new Garbage First collector, scheduled for prime time in JDK 7, and currently available to try out as an optional collector in the Java SE 6 update releases. Published experiences with this new memory management technique for Java are rare, though some have had good results.

The article examines in some detail the algorithms used in this collector, and hints at how they achieve the mostly prescribable pause limits. For those of you who don't often lift up the hood of the car you're driving you may need to refresh your general background on garbage collectors, their different flavors and algorithms.

And for those of you just interested in how to make it work, the article has a nice section on the knobs and levers you can pull to tune it for your own applications.

Deep Dive on JDK 7

Filed under: jdk7 on Friday Aug 21, 2009

The Janitor joined Ed Ort for a Deep Dive on JDK 7, check it out here. Really given how much is going into JDK 7, its perhaps more of a flyover and swoop, but, if you need to catch up with the plan, take a look.

JDK 7: Shaped and translucent windows

Filed under: jdk7 on Tuesday Aug 18, 2009

Just as life doesn't always fit neatly into a box, neither does everything you want to show on screen. Wanting to see behind what you're looking at is really just part of the human condition, and perhaps why the use of translucency in GUIs has become so popular.

The ability to create shaped and translucent windows was first released in Java SE 6u10, but you had to use a private API to do so. With the forward port of all the Java SE 6u10 features into the JDK 7 codebase, now you have a public API to do this.

This new article gives a 100% translucent picture of the capbilities, and is a good companion to this older, but recently updated technical article.

For anyone interested in using the JVM to run a language other than Java, and even for those interested in how it runs the Java language, and definitely those interested in language development, the annual JVM Language Summit held in September has become the primary place to be.

You get the idea by taking a look at some of the talks from last years summit: From Clojure, PHP on the JVM, the vicissitudes of running Ruby on the JVM, to Closures on the JVM. And you will also see that you will be hard pressed to find more expert speakers in these subject areas in the industry.

And this year the format has changed to include more interactive workshops, as well as the traditional talks, to spread the goodness even more effectively.

If you're hesitating: stop it: John likes to keep this summit small and focussed, usually under 100 participants. Sign up here.

As the Janitor works through all the mail that piled up on the doorstep of the Planetarium while he was on vacation, its clear that there's some news to catch up on.

First, JDK 7 reached milestone 4, the major inclusions being the new type annotations in the language, and the backporting into the jdk 7-branch of all the features in the Java SE 6u10+ updates that make it so nifty and browser friendly.

In mobile news, JavaFX dropped an early access release of the version 1.2 SDK for Windows Mobile. You can see Terrence talking all about it here.

Speaking of JavaFX 1.2, NetBeans 6.7 did a mini-update-dotdot release to add in JavaFX 1.2 support, (yay), while slipping in a few bug fixes while they were at it.

And there was news from the multiple languages front: Charlie et al switched over the names on their paychecks while they continue to work on JRuby, and the wildly successful JVM languages summit is happening again this year.

JDK 7: Jigsaw and classpath

Filed under: java jdk jdk7 on Thursday Jul 23, 2009

Developers have sometimes had to try to square the circle with the Java classpath over the years. What really is a linear model in multiple sections works for much of the time. But as applications get larger, and the dependencies between it and the libraries it needs get more complex, things break down.

Luckily, Project Jigsaw will be providing a cleaner dependency model in JDK 7 to save developers from trying to prove the impossible.

In the meantime, Joe posted a great visual summary of the three sections of the Java classpath.

Summarizing Java language changes for JDK 7

Filed under: jdk jdk7 on Thursday Jul 16, 2009

There haven't any changes to the Java language since J2SE 5.0 in 2004. But there are several planned for JDK 7, coming from a variety of sources (sic). Here's a quick summary:

1) Module support. Known historially as superpackages, though they are assuredly not, this promises to sit atop a variety of module systems to let developers partition big chunks of code more effectively.

2) Type Annotations. Step three in the popular annotations program, this hopes to further extend the reach of attaching meta-data to Java code by letting developers put it in more places.

3) And of course, Project Coin. The small useful changes to soothe away some of the common irritations with the langauge. The most likely handful have been picked (Strings in switch, improved exception handling, ARM blocks, improved type inference, Null safe operators, and simplified varargs), and there's another handful going through the mangle. Including some rather interesting ones for developers hoping to use JSR 292 to implement (better, faster...) a dynamic language on the JVM.

Some might be glad of that !

Yesterday's weekly build of JDK 7 includes a big set of changes: more backporting of Java SE 6uX features, fixes to Nimbus, fixes to NIO2, and the like. But most notably, as planned in May, the incorporation of the other Java language addition for JDK 7: Type Annotations.

Java Annotations have been enormously successful since their introduction in J2SE 5.0, allowing a wide range of different kinds of information to be attached to source code. From signaling that tools make a variety of checks be made to your methods or classes, to the partial eradication of unwieldy deployment descriptors in Java EE (Aside: how the world turns ! The Planetarium Janitor remembers the very earliest pre-release days of in the corridors of Java EE, when deployment descriptors were property files).

In Java SE 6, JSR 269 introduced 'Pluggable Annotations' with an API for tools to be able to manipulate custom annotations of their own design.

And now, JDK 7 will allow Java Annotations to go where no Java Annotation has gone before. Read all about the project here.

Jazoon 2009

Filed under: conferencenews javafx jdk7 on Wednesday Jul 08, 2009

While JavaOne is pretty much the focal point for announcing stuff, and is really a consistently well attended conference, for those of you in Europe, two conferences: Devoxx (nee Javapolis) and the 3 year old Jazoon are  becoming must attend events.

James Gosling opened the recent Jazoon conference, and proceeded to meet many of the 1100 attendees. Your humble Janitor also gave a keynote the next morning (slides), attempting to continue a long tradition of reducing the world into pithy top 10 lists: this time covering JDK 7 and JavaFX 1.2.

As usual, there was an immense variety of talks. Most all of which you can get the slides for here.

Garbage First 'quite zippy'

Filed under: java javase jdk7 on Wednesday Jul 01, 2009

You've probably been told over the years how great JVMs are. How well they've scaled, perform under a variety of different loads. How its doing its part to take advantage of the processing power of multi-core systems now that cranking the clock rate is almost wrung dry.

The automatic memory management provided by the JVM's garbage collector is one of the most important aspects of scaling the JVM. There are many different kinds - as this great primer shows.

The new (free) Hotspot Garbage First collector in beta form for evaluation in Java SE 6u14, and which will ship production quality in JDK 7 is summarized succinctly here, and you can find a more detail here about this generational, compacting, mostly parallel collector that offers a much smoother ride that the CMS collector will replace.

And some early signs of use are encouraging !

JDK 7: Collecting Honey

Filed under: java javase jdk7 on Wednesday Jun 17, 2009

There's also been a flurry of blogging and articles around the JDK 7 Preview, released at JavaOne, too.

Like about Project Jigsaw, which will modularize the JDK. Most of the audience got it when Mark announced that Classpath is Dead, but for a deeper dive, check out this JavaPosse episode, where both Mark and Alex got a grilling.

Or about the multi-language VM work, which John presented. And Charlie has used already in an experimental version of JRuby. And bytecode manipulation framework ASM has already picked up. Who's next ?

Project Coin, which is gathering a small set of additions to the Java language for JDK 7 is narrowing down the many options, as you can see from Joe's slides.

Take a look at this detailed article about NIO2, also in the JDK 7 Preview, and which Alan presented on.

And thankfully the is-the-G1-collector-free-or-not storm in a teacup blew itself out.

Kicking the tires, free, on Garbage First

Filed under: jdk jdk7 on Tuesday Jun 02, 2009

Just a note to clarify the terms of using the Garbage First collector in Java SE 6u14. Right now, because its still new-ish and not thoroughly battle tested, its turned off by default and intended for use to evaluate it. As you know, many people already have been doing so. Here's the command line option to turn it on:

   -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC

Once the team has ironed out all the kinks (and please, let them know if you find any !), it will be ready for primetime, and will be in JDK7, where it will be available for free, no strings, under the usual terms as part of the JDK.

The Janitor is told that an earlier version of the release notes implied that you had to have a support contract to use G1. Some certainly ran with that ball and even made a topical story out of it !

Our bad. So we made the notes clearer, because you don't need to do anything special to try it out. Unless you want your kinks fixed before everyone else gets the fixes either in the next update or in JDK 7. In which case, there is nice little program waiting just for you :)

Halfway through the first day of JavaOne 2009, so much has already happened !

There'll be more about JavaFX and Java ME tomorrow, but here's the announcements about Java SE and JavaFX so far.

The Java Store
What's the thing that will allow Java and JavaFX developers to get their apps out to a massive audience ? You knew it was coming ! The Java Store doing a restricted preview of its late summer grand opening, which means you need to sign up to try it out. The front end is a JavaFX application, the backend, which also includes the Java Warehouse, where developers will submit applications that show up in the store, is a Java EE application running on Glassfish. The first iteration is for desktop applications, with mobile apps coming later.

JavaFX 1.2
Surprise ! There's a new mobile emulator, there's a long list of new cross device GUI components, layouts, support for RSS and ATOM feeds, the startup on the desktop is about 40% quicker. Try out the new samples. And there's preview versions of JavaFX on Solaris, Linux.

JavaFX.next
JavaFX on TV, as seen on an LG TV set-top box ! A new JavaFX Authoring tool ! Totally new super fast graphics stack for JavaFX. All three by the end of this year.

Java SE
Java SE 6u14 is out with the new 64bit browser plugin, and an evaluation version of the new G1 collector. The preview of JDK 7 is released (based on Milestone 3), and a first sighting of Project Jigsaw, showing the JDK partitioned into a set of small modules: jdk-base, jdk-awt, jdk-swing, jdk-tool etc that can be loaded (quickly!) with minimal dependencies.

Deja vu moment
Rewriting StarOffice in JavaFX ?