Angelika Langer - Training & Consulting
HOME | COURSES | TALKS | ARTICLES | GENERICS | LAMBDAS | IOSTREAMS | ABOUT | NEWSLETTER | CONTACT | Twitter | Lanyrd | Linkedin
HOME 


  UPCOMING
  PREVIOUS
  MATERIALS
 
GENERICS 
LAMBDAS 
IOSTREAMS 
ABOUT 
NEWSLETTER 
CONTACT 
New Features in J2SE 1.5 - Tutorial and Workshop

New Features in J2SE 1.5 - Tutorial and Workshop  
 
 
ABSTRACT
 
 
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. 
 

 
 
PREREQUISITES

 
 
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:
Seminars
 
Effective Java
4 day seminar (open enrollment and on-site)
Concurrent Programming in Java
3 day seminar (open enrollment and on-site)

 

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

 

 

Slides
 
Tech Business Week , Santiago de Compostela, Spain, June  2005
  © Copyright 1995-2012 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Conferences/Abstracts/JDK1.5.htm  last update: 4 Nov 2012