JDK 7

PittJUG 3/30 - About JDK7

http://openjdk.java.net/projects/jdk7/features/
 Still no JSR for JDK 7
Compressed 64-bit objectpointers
http://wikis.sun.com/display/HotSpotInternals/CompressedOops
 
Garbage-First GC (G1) Garbage First vs Concurrent Mark Sweep http://tech.puredanger.com/2008/05/09/javaone-g1-garbage-collector

  • 25% performance increase
  • Initially both will be available, eventually CMS will be replaced

JSR 292: VM support for non-Java languages (InvokeDynamic)

JSR 294: Language and VM support for modular programming

  • Better support for things like OSGi (don't forget that April 27th is our OSGI presentation

JSR 308: Annotations on Java types

JSR TBD: Small language enhancements (Project Coin)
http://blogs.sun.com/darcy/entry/project_coin_final_five
http://www.artima.com/forums/flat.jsp?forum=270&thread=266751

  • Strings in switch
  • Automatic Resource Management
    • Like the with() {} statement in .Net (try () {} )
  • Improved Type Inference for Generic Instance Creation (diamond) Simplified Varargs Method Invocation

 

For example, consider the following assignment statement:

Map<String, List<String>> anagrams = new HashMap<String, List<String>>();

This is rather lengthy, so it can be replaced with this:

Map<String, List<String>> anagrams = new HashMap<>();

 

  • An omnibus proposal for better integral literals
  • Language support for Collections 
    • Collection Literals & Index access for List/Maps

List<String> strings = {"One", "Two", "Three"} ;
 
JSR TBD: Project Lambda - Closures

Modularization (Project Jigsaw) 

Upgrade class-loader architecture
 
Method to close a URLClassLoader Unicode 5.1

Concurrency and collections updates(jsr166y)

JSR 203: More new I/O APIs for the Java platform  (NIO.2)

SCTP (Stream Control TransmissionProtocol)

SDP (Sockets Direct Protocol)
Elliptic-curve cryptography (ECC)

 
Client Java changes

  • XRender pipeline for Java2D- Improved support for modern GPUs
  • Forward-port 6u10 deployment features
  • Create new platform  APIs for 6u10 graphics features
  • Nimbus look-and-feel for Swing
  • Swing JLayer component

Web
Update the Upgrade the JAXP, JAXB, and JAX-WS APIs to the most recent stable versions
 
Dropped

  • JSR 296: Swing application framework An API to define the basic structure of a typical Swing application, thereby eliminating lots of boilerplate code and providing a much-improved initial developer experience
  • JSR 296 Swing JDatePicker component Add the SwingLabs JXDatePicker component to