Is the JDK losing its edge(s)?
One of the goals for JDK 7 is to get us to a modular platform. Getting there will be hard as it's a very interconnected code base with many undesirable dependencies between APIs and different areas...

JavaOne 2009 Slides
JavaOne 2009 is done and I managed to survive my technical sessions. TS-4222: Asynchronous I/O Tricks and Tips, with Jean-Francois, went well and attracted more people that I had expected. The sli...

Monitoring direct buffers
One of the smaller features that JSR-203/NIO2 brings to JDK 7 is a management interface for monitoring the resources associated with pools of buffers. "Buffers" here means direct buffers that are a...

Copy that
Copy.java is one of several new samples included in JDK 7 to demonstrate its new API to the file system. If you have any recent snapshot installed then you'll find these samples in the $JAVA_HOME/s...

Sockets Direct Protocol
Solaris has support for the InfiniBandTM (IB) Sockets Direct Protocol (SDP) since Solaris 10 5/08. SDP is a wire protocol to support stream sockets networking over IB. It utilizes features such as RD...

IO, NIO, It's Off to JavaOne 2009 We Go
This year I'm co-presenting on two technical sessions: TS-4222: Asynchronous I/O Tricks and Tips with Jean-Francois Arcand. I'm going to talk about the API, implementation details, and cover some u...

JSR-203/NIO2 update
The implementation of JSR-203/NIO2 has been brewing as the OpenJDK New I/O project over the last year or so. The bulk of the socket-channel changes were pushed to the jdk7 repository back in build 37...

Multicasting with NIO
A long standing issue for many developers is that the java.nio.channels package has lacked support for Internet Protocol (IP) multicasting. In the NIO.2 early review draft specification you will s...

Accessing file permissions
One of the many issues addressed by NIO.2 is that the Java SE platform doesn't have a complete set of APIs to access file permissions and other security related file attributes. It's not rare to e...

HeapDumpOnOutOfMemoryError option in 5.0u7 and 1.4.2_12.
5.0 Update 7 was released this week. Among the changes is the backport of the HeapDumpOnOutOfMemoryError option from Mustang. This VM option tells the HotSpot VM to generate a heap dump when OutOfMe...

Another piece of the tool puzzle.
One of the updates in Mustang b65 was the addition of the getAgentProperties method to the Attach API. This method gives tools access to a set of properties maintained in the Java virtual machine o...

Late binding agents and fun times for the tool maker!
A few months ago, I highlighted an update to jconsole that allows it connect to applications that weren't started with special command line options. This ability to connect to a running application...

OutOfMemoryError looks a bit better!
OutOfMemoryError has always been a confusing error. For a long time the HotSpot Virtual Machine threw this error without a detail message or stack trace so typically the thread throwing the error w...

To poll or epoll: that is the question:
One of the updates in build 59 of Mustang (JavaTM SE 6) is that the New I/O Selector implementation will use the epoll event notification facility when running on the Linux 2.6 kernel. The epoll ...