Mar 29
For a couple of weeks now, the Google Web Toolkit 1.5 milestone 1 was available for download (announcement here). This completes the set of Java language features added to Java 5 by adding support for enums (much better than my workaround enum), generics and for-each loops. GWT itself even uses generics for the asynchronous calls, so that the AsyncCallback interface now accepts a type parameter which is used later for the onSuccess callback method.
I think that the beautiful part of it all is that for those of us who are already used to the new syntax features, this new release makes GWT development feel even smoother than before.
A word of warning though: from my experience it seems that the milestone doesn’t work well under Mac OS X with the new developers’ preview of Java 6. If you are in this category, you’ll have to rollback your version to the supplied Java 5 implementation.
Jan 22
This post is all about data flow in the “New I/O†framework. The data flow mechanism in NIO is essentially different from the “old†IO. There are no decorators to data, and the entire framework revolves around getting one thing done, and done really well: transferring data from an external source into the application or vice versa. In the last post I’ve described the buffers and put some emphasis on a couple of them. In this one, I’ll discuss the channels, which are the equivalents of the streams in the old IO, and the selector idea, which is taken from low-level languages such as C and brought into Java to boost performance.
Continue reading »
Jan 15
The Java NIO package is all about performance. That’s why, through this post, the word performance is going to be repeated often, showing where the NIO package increases your application’s throughput. It’s important to note that the “old IOâ€, the java.io package, is not bad to use and some features of it are not covered by NIO at all: however, in many situations involving data flow, the NIO package provides significantly faster IO operations.
Continue reading »