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.

1 comment

Reply

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

Exclusive Content

Clojure

Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.

Composite Oriented Programming with Qi4j

We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

Principles and Practices of Lean-Agile Software Development

Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.