Java開發(fā)平臺JDK 9的變化與未來_第1頁
Java開發(fā)平臺JDK 9的變化與未來_第2頁
Java開發(fā)平臺JDK 9的變化與未來_第3頁
Java開發(fā)平臺JDK 9的變化與未來_第4頁
Java開發(fā)平臺JDK 9的變化與未來_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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’

!=

‘a(chǎn)ccessible’?

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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論