Java开发平台JDK 9的变化与未来_第1页
Java开发平台JDK 9的变化与未来_第2页
Java开发平台JDK 9的变化与未来_第3页
Java开发平台JDK 9的变化与未来_第4页
Java开发平台JDK 9的变化与未来_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JDK

9,变化与未来Java

20-YearCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.

Topics•

JDK

9•

OpenJDK

CommunityCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.2016/05/262016/08/112016/09/012016/10/202016/12/012017/01/262017/03/23JDK

9

Schedule

Feature

Complete

All

Tests

Run

Rampdown

Start

Zero

Bug

Bounce

Rampdown

Phase

2

Final

Release

Candidate

General

AvailabilityCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.JDK

9

19Groups

703Members

80

JEPs

JDK

9Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.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

security-

update

releases.Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.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+62Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.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.Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.JEP

222:

The

Java

ShellCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.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

perrequest/response).–

It

is

very

hard

to

use

and

maintain.•

Purpose–

Define

a

new

HTTP

client

API

that

implements

HTTP/2

andWebSocket,

and

can

replace

the

legacyHttpURLConnection

API.Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.

JEP

110:

HTTP/2

Client•

Supports

HTTP/2•

Support

HTTPS/TLS•

Support

both

synchronous

and

asynchronous

modes•

Easy

to

set

up

the

WebSocket

handshake.Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.JEP

264Platform

Logging

API

and

Service•

Motivation–

Compared

to

the

java.util.logging

API,

most

modernlogging

frameworks

(e.g.,

Log4J

2.0,

Logback)

areseparated

into

a

facade

and

an

implementation.

Anapplication

that

logs

through

such

an

externalframework

should

create

loggers

and

perform

loggingthrough

the

facade

provided,

or

supported,

by

thatframework.–

The

proposed

service

enables

applications

toconfigure

the

JDK

to

use

the

same

logging

frameworkas

the

application.Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.JEP

264Platform

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

animplementation

of

this

service

in

order

to

routeplatform

log

messages

to

the

logging

frameworkof

its

choice.•

System.Logger

getLogger(String

name)Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.

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

frameworkCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.JEP

266(part):

Reactive

Streamspackage

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>;}Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.JEP

219Datagram

Transport

Layer

Security•

Motivation–

Satisfy

secure-transport

requirements

for

the

increasing

number

of

datagram-compatible

applications.–

In

many

cases,

the

most

desirable

way

to

secureclient/server

applications

would

be

to

use

TLS;

However,the

requirement

for

datagram

semantics

automaticallyprohibits

use

of

TLS.

Thus,

a

datagram-compatible

variantof

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

SSLEngineCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.Java

Platform

Module

System•

The

primary

goals–

Make

the

Java

SE

Platform,

and

the

JDK,

more

easilyscalable

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

JigsawCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.Module

declarations•

module-info.javamodule

com.foo.bar

{

requires

com.baz.qux;exports

com.foo.bar.alpha;exports

com.foo.bar.beta;}•

module

codemodule-info.javacom/foo/bar/alpha/AlphaFactory.javacom/foo/bar/alpha/Alpha.java...Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.Module

Resolutionmodule

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;}Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.Module

Resolutionmodule

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;}Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.‘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*Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.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

TLSCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.••••

Prepare

for

JDK

9Testing

Early

Access

buildsProvide

feedbackReport

bugsContribute

codeCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.OpenJDK

CommunityWe

need

your

help

and

you

can

benefit

from

the

community.Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.OpenJDK

Roles

OpenJDK

Lead•Directs

the

major

efforts

of

the

Community

OpenJDK

Member•Has

demonstrated

a

history

of

significant

contributions

Contributor•Signed

the

Oracle

Contributor

Agreement

(OCA)

Participant•Subscribed

to

OpenJDK

mailing

listsCopyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.Project

Roles

Project

Lead•A

Committer

to

that

Project

who

is

responsible

for

directing

and

coordinating

the

Project’s

activities.

Reviewer•An

experienced

Committer

who

has

the

authority

to

approve

changesets

destined

for

code

repositories.

Committer•An

Author

who

has

been

granted

direct

push

access

to

the

Project’s

code

repositories.

Author•A

Contributor

who

has

been

granted

the

right

to

create

change-sets.Copyright

©

2016,

Oracle

and/or

its

affiliates.

All

rights

reserved.How

to

contributeKnow

what

to

expect

Work

withyour

sponsorSubmit

a

patchDiscuss

your

intended

change

Find

somethinginteresting

to

work

on

Become

a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论