Angelika Langer - Training & Consulting

New Features in J2SE 1.5 - Tutorial and Workshop

New Features in J2SE 1.5 - Tutorial and Workshop  
The upcoming release 5.0 of the Java Standard Edition (J2SE) will add a number of major and minor new language features and library extensions.  The most significant addition to the Java programming language are generic types and methods.  The most substantial addition to the Java platform libraries are the new concurrency utilities. 

Java Generics
A common misconception regarding generics is its comparison to C++ templates.  Many people believe that Java generics are similar to C++ templates, while in fact both features have barely anything in common: C++ templates is a Turing complete language – Java generics is syntactic sugar that elides some casting. Java generics are a pure compile-time feature that is translated to non-generic Java bytecode, for reasons of compatibility with previous versions of Java. 
In this tutorial, we will take a look into the proposed language feature, how it will help us improve our programs, how it is supposed to be used and where its limitations are. 
More specifically, we will discuss the additions made to the language itself (parameterized types and methods as well as covariant return types), changes to the platform libraries (generic collections and extended reflection) and various exciting details of generics such as the properties of type parameters (their bounds and their scope), generic methods and type parameters inference, and the translation of generics into bytecode. 

Concurrency Utilities
The Java platform provides basic, low-level primitives for writing concurrent programs, but they are difficult to use properly. Many programs become clearer, shorter, faster, easier to write, and more reliable if higher-level synchronization constructs are used. 
A comprehensive library of concurrency utilities has been developed for inclusion in the 5.0 release of J2SE. This library, known as the util.concurrent package, contains thread pools, queues, concurrent collections, special-purpose locks, barriers, and related utilities. The addition to the Java platform is substantial and will change the way we will implement concurrent Java applications. This tutorial gives an overview of the new library. 

Enums, Autoboxing, Annotations, etc.
Some smaller additions to the programming language comprise syntax for enumeration types, an enhanced for-loop, static imports, autoboxing, varargs and program annotations. 


Level: intermediate / advanced
Duration: 90 min -  full day
Prerequisites: Attendants should be familiar with Java and the core concepts of concurrent programming in Java.
Presented at: Workshoptage 2003, Zürich, Switzerland, October 2003 
Java Users Group , Stuttgart, Germany, October 2003 
CHOOSE , Bern, Switzerland, November 2003 
OOP 2004 , München, Germany, January 2003 
ACCU Conference 2004 , Oxford, UK, April 2004 
ROOTS 2004 , Bergen, Norway, April 28-30, 2004 
JAX , Frankfurt, Germany, May 2004 
ECOOP , Oslo, Norway, June 2004 
Net.ObjectDays , Erfurt, Germany, September 2004
Tech Business Week , Santiago de Compostela, Spain, June  2005

If you are interested to hear more about this and related topics you might want to check out the following seminar or skim through some further reading:
Effective Java
4 day seminar (open enrollment and on-site)
Concurrent Programming in Java
3 day seminar (open enrollment and on-site)


online FAQ Java Generics FAQ
Online FAQ
article Language Features of Java Generics



Tech Business Week , Santiago de Compostela, Spain, June  2005
  © Copyright 1995-2012 by Angelika Langer.  All Rights Reserved.    URL: <  last update: 4 Nov 2012