JDK 9, 变化与未来. Xuelei Fan

Similar documents
<Insert Picture Here> OpenJDK - When And How To Contribute To The Java SE Reference Implementation OSCON 2011, July 26th, 2011

Introduction to Modular Development CON5118

Advanced Modular Development CON6821

Modularity in Java 9. Balázs Lájer Software Architect, GE HealthCare. HOUG Oracle Java conference, 04. Apr

openjdk.java.net A community centered around open source Java SE and related projects

JAVA Modules Java, summer semester 2018

Advanced Modular Development

OpenJDK Adoption Group

Call for Discussion: Project Skara Investigating source code management options for the JDK sources

The OpenJDK Project Past And Present

End-to-End Java Security Performance Enhancements for Oracle SPARC Servers Performance engineering for a revenue product

Alan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1

Application Container Cloud

Making The Future Java

Index. Kishori Sharan 2017 K. Sharan, Java 9 Revealed,

Copyright 2014 Oracle and/or its affiliates. All rights reserved.

<Insert Picture Here> JDK 7 DOAG Konferenz 2010, November 16th, 2010

Java SE 9 and the Application Server

Index. Decomposability, 13 Deep reflection, 136 Dependency hell, 19 --describe-module, 39

<Insert Picture Here> QCon: London 2009 Data Grid Design Patterns

Modules and Services. Alex Buckley Java Platform Group, Oracle October Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Project Loom Ron Pressler, Alan Bateman June 2018

The New HTTP Client API in Java 11

Safe Harbor Statement

Copyright 2013, Oracle and/or its affiliates. All rights reserved. CON-7777, JMS and WebSocket for Lightweight and Efficient Messaging

ADBA Asynchronous Database Access

Spring Framework 5.0 on JDK 8 & 9

Java ME Directions. JCP F2F - Austin. Florian Tournier - Oracle May 9, Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Future of Java. Post-JDK 9 Candidate Features. Jan Lahoda Java compiler developer Java Product Group, Oracle September, 2017

Oracle Responsys Release 18C. New Feature Summary

What HTTP/2 means to Java Developers?

JavaEE.Next(): Java EE 7, 8, and Beyond

<Insert Picture Here> Developer Secrets to Achieving World Domination

The Z Garbage Collector Low Latency GC for OpenJDK

Moving Beyond Sockets

Fusion Product Hub Training Data Governance: Business Rules and Impact Analysis. July 2014

Shaping the future of Java, Faster

Wednesday, May 30, 12

Keep Learning with Oracle University

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

JavaFX.Next. Kevin Rushforth Oracle Johan Vos Gluon October Copyright 2018, Oracle and/or its affiliates. All rights reserved.

The Z Garbage Collector An Introduction

Supported Fujitsu BS2000 Servers (page 1) Known Restrictions, Issues, and Workarounds (page 3) Documentation Accessibility (page 8)

The G1 GC in JDK 9. Erik Duveblad Senior Member of Technical Staf Oracle JVM GC Team October, 2017

<Insert Picture Here> A Brief Introduction to Live Object Pattern

Java SE7 Fundamentals

ebusiness Suite goes SOA

Java SE 7 Programming

Building Real-time Data in Web Applications with Node.js

Java in a World of Containers

<Insert Picture Here> Accelerated Java EE Development: The Oracle Way

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Java Programming Course Overview. Duration: 35 hours. Price: $900

Java 9 New features 8/11/2017 Iason Dimitrios Rodis

JSR 364, Broadening JCP Membership Public EC Meeting May 2015

Java SE 11 Certification Questions Answered

TAPS-related topics from the NEAT project. Naeem Khademi (NEAT project) TAPS WG - IETF 97 Seoul- South Korea 16 November 2016

streams streaming data transformation á la carte

Java 9: Tips on MigraDon and Upgradability

Welcome to the session...

Going Reactive with Spring 5. JavaSkop 18

The First Year. Java SE Chief Engineer Sun Microsystems

<Insert Picture Here> JSR-335 Update for JCP EC Meeting, January 2012

<Insert Picture Here> Future<JavaEE>

Keep Learning with Oracle University

EMEA/Africa/Middle East - Tuesday June 25th, :00:00 a.m. - 1:00pm BST / 10:00:00 a.m. - 2:00 p.m.cest /

Modern and Fast: A New Wave of Database and Java in the Cloud. Joost Pronk Van Hoogeveen Lead Product Manager, Oracle

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

JDK 9/10/11 and Garbage Collection

NOSQL DATABASE CLOUD SERVICE. Flexible Data Models. Zero Administration. Automatic Scaling.

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016

JSR 358 Progress Report. June 11, 2013

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

!1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Mark Falco Oracle Coherence Development

Oracle Communications WebRTC Session Controller

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's

Oracle Corporation OSCON 2012

What s New in JAX-RS 2.1?

Java SE 7 Programming

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

Oracle R Technologies

Oracle Communications WebRTC Session Controller

Platform SDK Deployment Guide. Platform SDK 8.1.2

<Insert Picture Here> Lustre Community

Apache NetBeans 9.0 New and Noteworthy

Introducing Oracle Machine Learning

Oracle NoSQL Database Release Notes. Release

Was gibt es Neues Better Team Work with Cloud

Deploying CICS regions with the z/os Provisioning Toolkit

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

OPERATING SYSTEM. Chapter 4: Threads

Java in a World of Containers

Streaming Real-Time Data into Xcelsius Applications

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

Javaentwicklung in der Oracle Cloud

Java EE 8 What s coming? David Delabassee Oracle May 17, 2017

Mission Possible - Near zero overhead profiling. Klara Ward Principal Software Developer Java Mission Control team, Oracle February 6, 2018

Asynchronous API with CompletableFuture

Oracle Application Express fast = true

Transcription:

2016-4-21

JDK 9, 变化与未来 Xuelei Fan

Java 20-Year

Topics JDK 9 OpenJDK Community

JDK 9 Schedule 2016/05/26 Feature Complete 2016/08/11 All Tests Run 2016/09/01 Rampdown Start 2016/10/20 Zero Bug Bounce 2016/12/01 Rampdown Phase 2 2017/01/26 Final Release Candidate 2017/03/23 General Availability

JDK 9 19 Groups 703 Members 80 JEPs JDK 9

JEP 223: New Version-String Scheme Motivation Which release contains all of the most recent security fixes: JDK 7 Update 55, or JDK 7 Update 60? What's the difference between releases named "JDK 7 Update 60", "1.7.0_60", and "JDK 7u60"? Purpose Revise the JDK's version-string scheme so that it is easier to distinguish major, minor, and securityupdate releases.

JEP 223: New Version-String Scheme Version numbers $MAJOR.$MINOR.$SECURITY 9 9.0.2 9.1.2 Version strings $VNUM(-$PRE)?(\+$BUILD)?(-$OPT)? 9+100 9.0.2+12 9.1.2+62

JEP 222: The Java Shell (Read-Eval- Print Loop) Motivation Immediate feedback when learning Java Exploration of coding options for developers prototyping code or investigating a new API. learning and exploration is streamlined Purpose Provide an interactive tool to evaluate declarations, statements, and expressions of the Java programming language, together with an API so that other applications can leverage this functionality.

JEP 222: The Java Shell

JEP 110: HTTP/2 Client Motivation, problems of HttpURLConnection The API predates HTTP/1.1 and is too abstract. The base URLConnection API was designed with multiple protocols in mind, nearly all of which are now defunct (ftp, gopher, etc.). It works in blocking mode only (i.e., one thread per request/response). It is very hard to use and maintain. Purpose Define a new HTTP client API that implements HTTP/2 and WebSocket, and can replace the legacy HttpURLConnection API.

JEP 110: HTTP/2 Client Supports HTTP/2 Support HTTPS/TLS Support both synchronous and asynchronous modes Easy to set up the WebSocket handshake.

JEP 264 Platform Logging API and Service Motivation Compared to the java.util.logging API, most modern logging frameworks (e.g., Log4J 2.0, Logback) are separated into a facade and an implementation. An application that logs through such an external framework should create loggers and perform logging through the facade provided, or supported, by that framework. The proposed service enables applications to configure the JDK to use the same logging framework as the application.

JEP 264 Platform Logging API and Service Purpose Define a minimal logging API which platform classes can use to log messages, together with a service interface for consumers of those messages. A library or application can provide an implementation of this service in order to route platform log messages to the logging framework of its choice. System.Logger getlogger(string name)

JEP 266(part): Reactive Streams Motivation Interfaces supporting the Reactive Streams publish-subscribe framework, nested within the new class Flow, along with a utility class SubmissionPublisher that developers can use to create custom components. Purpose An interoperable publish-subscribe framework

JEP 266(part): Reactive Streams package java.util.concurrent; public final class Flow { public static interface Publisher<T>; public static interface Subscriber<T>; public static interface Subscription; public static interface Processor<T,R> extends Subscriber<T>, Publisher<R>; }

JEP 219 Datagram Transport Layer Security Motivation Satisfy secure-transport requirements for the increasing number of datagram-compatible applications. In many cases, the most desirable way to secure client/server applications would be to use TLS; However, the requirement for datagram semantics automatically prohibits use of TLS. Thus, a datagram-compatible variant of TLS is very desirable. DTLS over DCCP/SCTP/SRTP, CoAP, WebRTC Purpose Define APIs for Datagram Transport Layer Security (DTLS) version 1.0 (RFC 4347) and 1.2 Reuse SSLEngine

Java Platform Module System The primary goals Make the Java SE Platform, and the JDK, more easily scalable down to small computing devices; Improve the security and maintainability of Java SE Platform Implementations in general, and the JDK in particular; Enable improved application performance; and Make it easier for developers to construct and maintain libraries and large applications, for both the Java SE and EE Platforms. JSR 376 and OpenJDK Project Jigsaw

Module declarations module-info.java module com.foo.bar { requires com.baz.qux; exports com.foo.bar.alpha; exports com.foo.bar.beta; } module code module-info.java com/foo/bar/alpha/alphafactory.java com/foo/bar/alpha/alpha.java...

Module Resolution module com.foo.app { requires com.foo.bar; requires java.sql; } module java.sql { requires java.logging; requires java.xml; exports java.sql; exports javax.sql; exports javax.transaction.xa; }

Module Resolution module com.foo.app { requires com.foo.bar; requires java.sql; } module java.sql { requires public java.logging; requires public java.xml; exports java.sql; exports javax.sql; exports javax.transaction.xa; }

public!= accessible Accessibility 1995-2015 public protected <package> private Accessibility 2015 public to everyone public but only to specific modules public only within a module Protected* <package>* Private*

More Performance improvement Hotspot Core libs Security improvement Unicode 7.0/8.0 Fine control and management Java-Level JVM Compiler Interface Stack-Walking API Process API Updates OCSP Stapling for TLS

Prepare for JDK 9 Testing Early Access builds Provide feedback Report bugs Contribute code

OpenJDK Community We need your help and you can benefit from the community.

OpenJDK Roles Participant Contributor OpenJDK Member OpenJDK Lead Subscribed to OpenJDK mailing lists Signed the Oracle Contributor Agreement (OCA) Has demonstrated a history of significant contributions Directs the major efforts of the Community

Project Roles Author Committer Reviewer Project Lead A Contributor who has been granted the right to create change-sets. An Author who has been granted direct push access to the Project s code repositories. An experienced Committer who has the authority to approve changesets destined for code repositories. A Committer to that Project who is responsible for directing and coordinating the Project s activities.

How to contribute Become a Contributor Find something interesting to work on Discuss your intended change Submit a patch Work with your sponsor Know what to expect

More Information OpenJDK Bug Database https://bugs.openjdk.java.net/ OpenJDK Community Bylaws http://openjdk.java.net/bylaws How to contribute: http://openjdk.java.net/contribute/ The OpenJDK Developers' Guide: http://openjdk.java.net/guide/ JEP Index: http://openjdk.java.net/jeps JDK 9 Project: http://openjdk.java.net/projects/jdk9 OpenJDK Quality: http://openjdk.java.net/groups/quality/

Safe Harbor Statement The preceding 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.