Presentation is loading. Please wait.

Presentation is loading. Please wait.

Andreas Enbohm Capgemini Sverige AB Java SE 7 (Dolphin) or ”The Future is Nigh”

Similar presentations


Presentation on theme: "Andreas Enbohm Capgemini Sverige AB Java SE 7 (Dolphin) or ”The Future is Nigh”"— Presentation transcript:

1 Andreas Enbohm Capgemini Sverige AB Java SE 7 (Dolphin) or ”The Future is Nigh”

2 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Java SE 7  No JSR for Java 7!  Modularity - JSR 294 – Superpackages - JSR-277 Java Module System (OSGi, superjars)  Libraries - JSR 203 - NIO2 (permissions, file attributes) - JSR 310 – Date and Time (3:rd time …) - JSR 284 – Resource Consumption (like ARM) - Pruning

3 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Super Packages ”Public is too public” superpackage jdk { member package java.util; member package java.io; member package sun.io; // Impl detail export java.util.*; // Public API export java.io.*; }

4 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Java SE 7  No JSR for Java 7!  Modularity - JSR 294 Superpackages - JSR 277 Java Module System (OSGi, superjars)  Libraries - JSR 203 NIO2 (permissions, file attributes) - JSR 310 Date and Time (3:rd time, datum utan klockslag) - JSR 284 Resource Consumption Management (cpu time, open JDBC connections, like ARM)

5 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Java SE 7  Swing - JSR 296 Swing Application Framework - JSR 295 Beans Bindings - JSR 303 Beans Validation (@length(min = 2, max = 4)) - Java Media Component (quicketime, mpeg 4, native) - JavaFX  Types and Generics - Refined generics (puh!) - Type literals (generics at runtime) - Type Inference (String s = new String(”s”);-> s = new String) - JSR 208 Annotation on types

6 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Java SE 7  Swing - JSR 296 Swing Application Framework - JSR 295 Beans Bindings (auto synch Model and View ) - JSR 303 Beans Validation (@length(min = 1, max = 3) - Java Media Component (quicketime, mpeg 4, native)  Types and Generics - Refined generics (puh!) - Type literals (generics at runtime) - Type Inference (String s = new String(”s”);-> s = new String) - JSR 208 – Annotation on types

7 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Swing application Framework  Application lifecycle handling; - launch() - startup() - exit() - shutdown()  ActionPerformed -> @Action @Action public void openFile() { …}  Support for handling resources (formatted strings, images, colors, i18n)  Support for session states  Remove the ’italian-style-code’ which is needed in Swing applications (e.g. listener pattern)

8 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Annotation on Types public int doStuff(@notNull String name) { //No need to throw IllegalArgumentException! return name.length(); } public void doStuff2(@notNegative int age) { this.age = age; }

9 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Java SE 7  Language Proposals - Closures (N/A ?) - ARM blocks - Language level XML support - JavaBeans Properties (like Scala/C#, no need for get/set)  Misc. Language Changes - BigDecimal operator support (+-*/) - String in switch statements - improved catch-blocks (catch (AccesEx | IllegalStateEx)) - chained method invocations (foo.bar().baz(), bar(), baz() voids)

10 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Closures System.out.print(“Prepare the lobster"); putInPot("lobster"); putInPot("water"); System.out.print(“Prepare the chicken"); putInFryPan("chicken"); putInFryPan("coconut"); function cook( i1, i2, f ) { System.out.print(“Prepare the " + i1); f(i1); f(i2); } cook( "lobster", "water", putInPot ); cook( "chicken", "coconut", putInFryPan );

11 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Java SE 7  Language Proposals - Closures (N/A ?) - ARM blocks - Language level XML support - JavaBeans Properties (like Scala/C#, no need for get/set)  Misc. Language Changes - BigDecimal operator support (+-*/) - String in switch statements - improved catch-blocks (catch (AccesEx | IllegalStateEx)) - chained method invocations (foo.bar().baz(), bar(), baz() voids)

12 © 2004 Capgemini - All rights reserved 2008, July – Andreas Enbohm Java SE 7  JVM - invokedynamic (good for scriptlanguages builders) - tired compilation (improve JIT, do at startup) - G1 Garbage Collector (’collect where it is most needed’) - More script engines - Cheap concurrency -> Scala/Erlang Actors (continuation closure)


Download ppt "Andreas Enbohm Capgemini Sverige AB Java SE 7 (Dolphin) or ”The Future is Nigh”"

Similar presentations


Ads by Google