![Page 1: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/1.jpg)
Insert Presenterʼs Name HereInsert Presenterʼs Title Here
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
Java 8, Java 9, and Beyond!
Mark Reinhold (@mreinhold)Chief Architect, Java Platform Group, Oracle
Jfokus 2013
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
![Page 2: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/2.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
![Page 3: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/3.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
Java 8
![Page 4: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/4.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
Lambda (JSR 335)
Java 8
![Page 5: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/5.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
Lambda (JSR 335)
Compact ProfilesJava 8
![Page 6: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/6.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
Lambda (JSR 335)
Compact ProfilesJava 8
Nashorn
![Page 7: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/7.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
Lambda (JSR 335)Date/Time API (JSR 310)
Compact ProfilesJava 8
Nashorn
![Page 8: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/8.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
Lambda (JSR 335)Date/Time API (JSR 310)
Type Annotations (JSR 308)
Compact ProfilesJava 8
Nashorn
![Page 9: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/9.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2
Lambda (JSR 335)Date/Time API (JSR 310)
Type Annotations (JSR 308)
Compact Profiles
Lambda-Form Representation for Method Handles
Remove the Permanent Generation
Improve Contended LockingGeneralized Target-Type Inference
DocTree API
Parallel Array Sorting
Bulk Data Operations Unicode 6.2Base64 HTTP ClientNSA Suite B
Prepare for Modularization
Unicode CLDR
TLS Server Name IndicationConfigurable Secure-Random Number Generation
Java 8Nashorn
![Page 10: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/10.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3
![Page 11: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/11.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3
![Page 12: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/12.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4
![Page 13: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/13.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4
![Page 14: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/14.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Colors and Shapes
5
![Page 15: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/15.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Colors and Shapes
5
enum Color { RED, GREEN, BLUE }
![Page 16: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/16.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Colors and Shapes
5
enum Color { RED, GREEN, BLUE }
class Shape {
Shape() { ... } Shape(Shape s, double area) { ... }
Color getColor() { ... } void setColor(Color c) { ... }
double getArea() { ... }
}
![Page 17: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/17.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6
![Page 18: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/18.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6
List<Shape> shapes = ...;
![Page 19: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/19.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6
// Sort shapes by colorComparator<Shape> c = new Comparator<Shape>() { public int compare(Shape s, Shape t) { return s.getColor().compareTo(t.getColor()); }};Collections.sort(shapes, c);
List<Shape> shapes = ...;
![Page 20: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/20.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7
// Sort shapes by colorComparator<Shape> c = new Comparator<Shape>() { public int compare(Shape s, Shape t) { return s.getColor().compareTo(t.getColor()); }};Collections.sort(shapes, c);
![Page 21: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/21.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7
// Sort shapes by color, with a lambdaComparator<Shape> c = (Shape s, Shape t) -> s.getColor().compareTo(t.getColor());Collections.sort(shapes, c);
Lambda expressions
// Sort shapes by colorComparator<Shape> c = new Comparator<Shape>() { public int compare(Shape s, Shape t) { return s.getColor().compareTo(t.getColor()); }};Collections.sort(shapes, c);
![Page 22: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/22.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8
Lambda expressions
// Sort shapes by color, with a lambdaComparator<Shape> c = (Shape s, Shape t) -> s.getColor().compareTo(t.getColor());Collections.sort(shapes, c);
![Page 23: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/23.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8
// Sort shapes by color, with a lambda using type inferenceComparator<Shape> c = (s, t) -> s.getColor().compareTo(t.getColor());Collections.sort(shapes, c);
Lambda expressions
// Sort shapes by color, with a lambdaComparator<Shape> c = (Shape s, Shape t) -> s.getColor().compareTo(t.getColor());Collections.sort(shapes, c);
![Page 24: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/24.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Lambda expressions
9
// Sort shapes by color, with a lambda using type inferenceComparator<Shape> c = (s, t) -> s.getColor().compareTo(t.getColor());Collections.sort(shapes, c);
![Page 25: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/25.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Lambda expressions
9
// Sort shapes by color, in one statementCollections.sort(shapes, (s, t) -> s.getColor().compareTo(t.getColor()));
// Sort shapes by color, with a lambda using type inferenceComparator<Shape> c = (s, t) -> s.getColor().compareTo(t.getColor());Collections.sort(shapes, c);
![Page 26: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/26.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10
Functional interfaces
![Page 27: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/27.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10
Functional interfaces
// Compare shapes by colorComparator<Shape> c = (s, t) -> s.getColor().compareTo(t.getColor());
![Page 28: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/28.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10
Functional interfaces
// Compare shapes by colorComparator<Shape> c = (s, t) -> s.getColor().compareTo(t.getColor());
// Test whether a shape is redPredicate<Shape> p = s -> s.getColor() == RED;
![Page 29: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/29.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10
Functional interfaces
// Compare shapes by colorComparator<Shape> c = (s, t) -> s.getColor().compareTo(t.getColor());
// Test whether a shape is redPredicate<Shape> p = s -> s.getColor() == RED;
// Extract the area of a shapeFunction<Shape,Double> f = s -> s.getArea();
![Page 30: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/30.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10
Functional interfaces
// Compare shapes by colorComparator<Shape> c = (s, t) -> s.getColor().compareTo(t.getColor());
// Test whether a shape is redPredicate<Shape> p = s -> s.getColor() == RED;
// Extract the area of a shapeFunction<Shape,Double> f = s -> s.getArea();
// Create a bigger shape from a given shapeUnaryOperator<Shape> o = s -> new Shape(s, s.getArea() * 2);
![Page 31: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/31.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11
Iteration
![Page 32: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/32.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11
Iteration
// Paint red shapes blueList<Shape> shapes = ...;for (Shape s : shapes) { if (s.getColor() == RED) s.setColor(BLUE);}
![Page 33: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/33.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11
Iteration
// Paint red shapes blueList<Shape> shapes = ...;for (Shape s : shapes) { if (s.getColor() == RED) s.setColor(BLUE);}
, using external iteration
![Page 34: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/34.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11
Iteration
// Paint red shapes blueList<Shape> shapes = ...;for (Shape s : shapes) { if (s.getColor() == RED) s.setColor(BLUE);}
// Paint red shapes blue, using internal iterationshapes.forEach(s -> { if (s.getColor() == RED) s.setColor(BLUE); });
, using external iteration
![Page 35: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/35.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Default methods
12
![Page 36: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/36.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Default methods
12
interface Iterable<T> {
Iterator<T> iterator();
default void forEach(Consumer<? super T> consumer) { for (T t : this) consumer.accept(t); }
}
![Page 37: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/37.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Default methods
13
![Page 38: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/38.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Default methods
13
interface Collection<E> { default boolean removeAll(Predicate<? super E> filter) { boolean removed = false; Iterator<E> each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; }}
![Page 39: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/39.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Default methods
14
![Page 40: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/40.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Default methods
14
interface List<E> { ... default void replaceAll(UnaryOperator<E> op) { final ListIterator<E> li = this.listIterator(); while (li.hasNext()) li.set(op.apply(li.next())); }}
![Page 41: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/41.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15
// Paint red shapes blue, using internal iterationshapes.forEach(s -> { if (s.getColor() == RED) s.setColor(BLUE); });
![Page 42: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/42.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15
// Paint red shapes blue, using internal iterationshapes.forEach(s -> { if (s.getColor() == RED) s.setColor(BLUE); });
Streams
// Paint red shapes blue, using bulk operations on a streamshapes.stream() .filter(s -> s.getColor() == RED) .forEach(s -> { s.setColor(BLUE); });
![Page 43: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/43.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16
Streams
// Paint red shapes blue, using bulk operations on a streamshapes.stream() .filter(s -> s.getColor() == RED) .forEach(s -> { s.setColor(BLUE); });
![Page 44: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/44.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16
Streams
// Paint red shapes blue, using bulk operations on a streamshapes.stream() .filter(s -> s.getColor() == RED) .forEach(s -> { s.setColor(BLUE); });
// Find the first blue shapeShape firstBlue = shapes.stream() .filter(s -> s.getColor() == BLUE) .findFirst().get();
![Page 45: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/45.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17
Streams
![Page 46: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/46.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17
Streams
// Compute the sum of the areas of blue shapesdouble sumOfAreas = shapes.stream() .filter(s -> s.getColor() == BLUE) .map(s -> s.getArea()) .reduce(0.0, (a, b) -> a + b);
![Page 47: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/47.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17
Streams
// Compute the sum of the areas of blue shapesdouble sumOfAreas = shapes.stream() .filter(s -> s.getColor() == BLUE) .map(s -> s.getArea()) .reduce(0.0, (a, b) -> a + b);
// Compute the sum of the areas of blue shapesdouble sumOfAreas = shapes.stream() .filter(s -> s.getColor() == BLUE) .map(s -> s.getArea()) .sum();
![Page 48: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/48.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.18
Streams
// Compute the sum of the areas of blue shapesdouble sumOfAreas = shapes.stream() .filter(s -> s.getColor() == BLUE) .map(s -> s.getArea()) .sum();
![Page 49: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/49.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.18
Streams
// Compute the sum of the areas of blue shapesdouble sumOfAreas = shapes.stream() .filter(s -> s.getColor() == BLUE) .map(s -> s.getArea()) .sum();
// Compute the sum of the areas of blue shapesdouble sumOfAreas = shapes.stream() .filter(s -> s.getColor() == BLUE) .map(Shape::getArea) .sum();
![Page 50: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/50.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.19
Streams
// Compute the sum of the areas of blue shapesdouble sumOfAreas = shapes.stream() .filter(s -> s.getColor() == BLUE) .map(Shape::getArea) .sum();
![Page 51: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/51.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.19
Streams
// Compute the sum of the areas of blue shapesdouble sumOfAreas = shapes.stream() .filter(s -> s.getColor() == BLUE) .map(Shape::getArea) .sum();
// Compute the sum of the areas of blue shapes, in paralleldouble sumOfAreas = shapes.parallelStream() .filter(s -> s.getColor() == BLUE) .map(Shape::getArea) .sum();
![Page 52: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/52.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20
openjdk.java.net/projects/lambdajdk8.java.net/lambda
Project Lambda
![Page 53: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/53.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20
openjdk.java.net/projects/lambdajdk8.java.net/lambda
Project Lambda
![Page 54: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/54.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20
openjdk.java.net/projects/lambdajdk8.java.net/lambda
Project Lambda
![Page 55: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/55.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21
Lambda (JSR 335)Date/Time API (JSR 310)
Type Annotations (JSR 308)
Compact Profiles
Lambda-Form Representation for Method Handles
Remove the Permanent Generation
Improve Contended LockingGeneralized Target-Type Inference
DocTree API
Parallel Array Sorting
Bulk Data Operations Unicode 6.2Base64 HTTP ClientNSA Suite B
Prepare for Modularization
Unicode CLDR
TLS Server Name IndicationConfigurable Secure-Random Number Generation
Java 8Nashorn
![Page 56: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/56.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22
Project Jigsawopenjdk.java.net/projects/jigsaw
![Page 57: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/57.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22
Project Jigsawopenjdk.java.net/projects/jigsaw
http://www.flickr.com/photos/lizadaly/2944362379
![Page 58: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/58.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23
Modular platform: Before
![Page 59: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/59.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23
50 nodes171 edges
Modular platform: Before
![Page 60: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/60.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Modular platform:
24
Before 50 nodes171 edges
![Page 61: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/61.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Modular platform:
24
After 32 nodes105 edges
![Page 62: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/62.jpg)
base
tls loggingauthjdbc
jtarmi
jaxpnaming
rowset
kerberos management
compiler
xmldsig
prefssctp
instrument
scripting
crypto
compat
management.iiop
cosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
![Page 63: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/63.jpg)
base
tls loggingauthjdbc
jtarmi
jaxpnaming
rowset
kerberos management
compiler
xmldsig
prefssctp
instrument
scripting
crypto
compat
management.iiop
cosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
52MB
![Page 64: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/64.jpg)
base
tls loggingauthjdbc
jtarmi
jaxpnaming
rowset
kerberos management
compiler
xmldsig
prefssctp
instrument
scripting
crypto
compat
management.iiop
cosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
1052MB
![Page 65: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/65.jpg)
base
tls loggingauthjdbc
jtarmi
jaxpnaming
rowset
kerberos management
compiler
xmldsig
prefssctp
instrument
scripting
crypto
compat
management.iiop
cosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
1052MB 17
![Page 66: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/66.jpg)
base
tls loggingauthjdbc
jtarmi
jaxpnaming
rowset
kerberos management
compiler
xmldsig
prefssctp
instrument
scripting
crypto
compat
management.iiop
cosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
1052MB 1724
![Page 67: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/67.jpg)
base
tls loggingauthjdbc
jtarmi
jaxpnaming
rowset
kerberos management
compiler
xmldsig
prefssctp
instrument
scripting
crypto
compat
management.iiop
cosnaming
corba
desktop
tools.jre
jaxws
jx.annotations
httpserver
tools
tools.jaxws tools.base
devtools
![Page 68: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/68.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Compact Profiles
26
![Page 69: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/69.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Compact Profiles
26
compact1java.iojava.langjava.mathjava.netjava.niojava.securityjava.textjava.utiljavax.cryptojavax.netjavax.security
10MB
![Page 70: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/70.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Compact Profiles
26
compact1java.iojava.langjava.mathjava.netjava.niojava.securityjava.textjava.utiljavax.cryptojavax.netjavax.security
compact2java.rmijava.sqljavax.rmijavax.sqljavax.transactionjavax.xmlorg.w3c.domorg.xml.sax
10MB 17
![Page 71: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/71.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Compact Profiles
26
compact1java.iojava.langjava.mathjava.netjava.niojava.securityjava.textjava.utiljavax.cryptojavax.netjavax.security
compact2java.rmijava.sqljavax.rmijavax.sqljavax.transactionjavax.xmlorg.w3c.domorg.xml.sax
compact3java.lang.instrumentjava.lang.managementjava.util.prefsjavax.annotation.processingjavax.lang.modeljavax.managementjavax.namingjavax.scriptjavax.security.acljavax.security.auth.kerberosjavax.security.sasljavax.sql.rowsetjavax.toolsjavax.xml.cryptoorg.ietf.jgss
10MB 17 24
![Page 72: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/72.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Compact Profiles
26
compact1java.iojava.langjava.mathjava.netjava.niojava.securityjava.textjava.utiljavax.cryptojavax.netjavax.security
compact2java.rmijava.sqljavax.rmijavax.sqljavax.transactionjavax.xmlorg.w3c.domorg.xml.sax
compact3java.lang.instrumentjava.lang.managementjava.util.prefsjavax.annotation.processingjavax.lang.modeljavax.managementjavax.namingjavax.scriptjavax.security.acljavax.security.auth.kerberosjavax.security.sasljavax.sql.rowsetjavax.toolsjavax.xml.cryptoorg.ietf.jgss
Full JREjava.appletjava.awtjava.beansjavax.accessibilityjavax.activationjavax.activityjavax.annotationjavax.imageiojavax.jwsjavax.printjavax.rmijavax.rmi.CORBAjavax.soundjavax.swingjavax.xml.bindjavax.xml.soapjavax.xml.wsorg.omg
10MB 17 24 52
![Page 73: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/73.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.27
Lambda (JSR 335)Date/Time API (JSR 310)
Type Annotations (JSR 308)
Compact Profiles
Lambda-Form Representation for Method Handles
Remove the Permanent Generation
Improve Contended LockingGeneralized Target-Type Inference
DocTree API
Parallel Array Sorting
Bulk Data Operations Unicode 6.2Base64 HTTP ClientNSA Suite B
Prepare for Modularization
Unicode CLDR
TLS Server Name IndicationConfigurable Secure-Random Number Generation
Java 8Nashorn
![Page 74: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/74.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28
Java 8
![Page 75: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/75.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28
Java 8
![Page 76: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/76.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28
openjdk.java.net/projects/jdk8openjdk.java.net/projects/jdk8/specjdk8.java.net
Java 8
![Page 77: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/77.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29
![Page 78: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/78.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29
![Page 79: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/79.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29
![Page 80: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/80.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30
![Page 81: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/81.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30
Java 9 … and beyond!
![Page 82: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/82.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30
Jigsaw
ReificationEase of use
OpenJFX Self Tuning JVM
Unified Type System
Java 9 … and beyond!
![Page 83: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/83.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30
Jigsaw
ReificationEase of use
Optimizations
Generic Lang Interoperability
Penrose
OpenJFXProject Sumatra – Java for GPUs
More and More Ports
Multi-Tenancy
Self Tuning JVMImproved Native Integration
Resource Management
Unified Type System
Data Structure Optimizations
Java 9 … and beyond!
![Page 84: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/84.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31
JDK Enhancement Proposals (JEPs)openjdk.java.net/jeps
![Page 85: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/85.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31
JDK Enhancement Proposals (JEPs)openjdk.java.net/jeps
![Page 86: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/86.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.32
JDK Enhancement Proposals (JEPs)138 Autoconf-Based Build System139 Enhance javac to Improve Build Speed140 Limited doPrivileged141 Increase the Client VM's Default Heap Size142 Reduce Cache Contention on Specified Fields143 Improve Contended Locking144 Reduce GC Latency for Large Heaps145 Cache Compiled Code146 Improve Fatal Error Logs147 Reduce Class Metadata Footprint148 Small VM149 Reduce Core-Library Memory Usage150 Date & Time API151 Compress Time-Zone Data152 Crypto Operations with Network HSMs153 Launch JavaFX Applications154 Remove Serialization155 Concurrency Updates156 G1 GC: Reduce need for full GCs
157 G1 GC: NUMA-Aware Allocation158 Unified JVM Logging159 Enhanced Class Redefinition160 Lambda-Form Representation for Method Handles161 Compact Profiles162 Prepare for Modularization163 Enable NUMA Mode by Default When Appropriate164 Leverage CPU Instructions for AES Cryptography 165 Compiler Control166 Overhaul JKS-JCEKS-PKCS12 Keystores167 Event-Based JVM Tracing168 Network Discovery of Manageable Java Processes169 Value Objects170 JDBC 4.2171 Fence Intrinsics172 DocLint173 Retire Some Rarely-Used GC Combinations174 Nashorn JavaScript Engine175 Integrate PowerPC/AIX Port into JDK 8
![Page 87: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/87.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.33
![Page 88: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/88.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.33
The preceding material is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
![Page 89: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/89.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.34
![Page 90: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/90.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.34
openjdk.java.net/projects/jdk8jdk8.java.net
![Page 91: Java 8, Java 9, and Beyond! - jfokus.se · base tls logging auth jdbc jta rmi naming jaxp rowset kerberos management compiler xmldsig prefs sctp instrument scripting crypto compat](https://reader033.vdocument.in/reader033/viewer/2022052518/5f0cf3af7e708231d437f129/html5/thumbnails/91.jpg)
Insert Presenterʼs Name HereInsert Presenterʼs Title Here
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
Java 8, Java 9, and Beyond!
Mark Reinhold (@mreinhold)Chief Architect, Java Platform Group, Oracle
Jfokus 2013