InfoQ

News

Google Tech Talks Presents Overview of NIO.2 for Java 7

Posted by R.J. Lorimer on Jun 08, 2008 04:53 PM

Community
Java
Topics
JCP Standards
Tags
JSR 203
The Google Tech Talks channel has released a recent presentation by Alan Bateman of Sun Microsystems and Carl Quinn of Google discussing the key features being defined by JSR 203; commonly known as NIO.2, or more NIO. Alan Bateman is the specification-lead for JSR 203.

NIO.2 is a series of enhancements to the I/O facilities in Java planned for a Java 7 release. All of the major enhancements for the JSR are discussed in the video, including:
  • File System API - The problems and short-comings of java.io.File are discussed, and the new API is presented with examples of complex paths, utilities for copying and iterating, symbolic link support, notification mechanisms, compatibility with existing I/O APIs, and file attribute management.
  • Completion of the Socket Channel API - Some issues left over with the implementation of JSR 51 (NIO in Java 1.4) are reviewed, including socket management and lack of multicast support in the NIO channels. Examples are provided for how these issues are being resolved.
  • Asynchronous I/O - A comparison of new asynchronous I/O API with polling/non-blocking I/O is provided, as is a description of thread and completion event management in the new API, and a number of examples.
As discussed last April on InfoQ, the early draft review has been completed for JSR 203, and as such the draft specification for NIO.2 is available for download. Java 7 snapshots do not yet include NIO.2, however the latest source code, javadocs, and information about mailing-lists is all available on the OpenJDK homepage for JSR 203. Java 7 is expected for release in the first-half of 2009.
Direct link... by Wannes Sels Posted Jun 9, 2008 10:12 AM
  1. Back to top

    Direct link...

    Jun 9, 2008 10:12 AM by Wannes Sels

    ...seems to be missing, so here it is

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.