Introducing Java 8

18
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1 Introducing Java 8 Alexandre Vieira Middleware Solutions Manager

description

Apresentação de Alexandre Vieira para o 16º encontro PT.JUG.

Transcript of Introducing Java 8

Page 1: Introducing Java 8

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

Introducing Java 8

Alexandre Vieira

Middleware Solutions Manager

Page 2: Introducing Java 8

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

Create the Future with Java 8

• REVOLUTIONIZE

APPLICATION

DEVELOPMENT

• HARMONIZE

ENTERPRISE IT

• EMPOWER THE

INTERNET OF

THINGS (IOT) www.oracle.com/java8

Page 3: Introducing Java 8

3

Java SE 8

• Nearly four years in the making

• Biggest upgrade to Java programming model ever!

• Small set of features, with a big impact

• Lambda Expressions

• Default Methods

• Bulk Operations on Collections

• Coordinated co-evolution of language, libraries, and

VM

Page 4: Introducing Java 8

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

Java 8 for the Java Developer Community • Productivity & Performance

• Project Lambda makes it easier to distribute processing of collections over multiple threads (better application

performance and simpler code).

• Productivity features enable developers to write more readable and shorter code with improved collections and

annotations.

• Modularity – Java SE Compact Profiles & Java ME as a subset of the Java SE platform

• Profiles for Java SE large, medium and small footprint enables more efficient deployments

• Embedded application development made easier for Java developers – Java ME updated with VM, Java Language, and

Libraries, and features to be aligned with Java SE 8 while retaining the focus on small embedded devices.

• Java developers are uniquely positioned to drive innovation for Mobile, Social, IoT & Cloud

• Open, standards-based, community-driven platform, spanning from small devices to cloud-based development,

combined with Java developers’ talent will make IoT a reality

• Java developers have incredible opportunity can transfer their skills and knowledge to develop robust and highly

performant applications from edge devices through to the enterprise.

• Java is a community technology

• JCP is important, it's growing, it's working - JDK 8 and Java ME 8 were developed with community participation

Page 5: Introducing Java 8

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

Java 8 for the Enterprise and IoT • Java 8 enables significant productivity and performance enhancements

• Java SE 8 contains numerous new features and enhancements that deliver application performance benefits and simpler

parallel programming models

• JDK 8 enables developers to be more productive with simpler and more readable code

• Java 8 is the platform of choice for the Internet of Things, Mobile, Social & Cloud – all of

your services can be implemented in Java from the edge device to the data center.

• Harness the opportunity to use your existing and readily available developer talent to implement your IoT strategy.

• Reduce costs while driving innovation and improving services (Reduce Complexity, Drive Innovation, Create Opportunity)

• Java is the path to platform standardization for embedded environments.

• Support any device, any size, any market – Java fills the void of no standards for embedded device application development.

• Java SE and Java ME are on a strong convergence path

• Time to Market with an integrated, end-to-end platform, it is possible to deploy applications faster, process and analyze

in-flight data at lightning speeds and act on events as quickly as they occur – ROI & improved services.

• Innovation there are 9 million Java developers worldwide, allowing businesses to take advantage of readily available

developer talent to bring products and solutions to market faster.

Page 6: Introducing Java 8

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

Java SE 8

Key Features Benefit Message

Lambda Expressions Easier to distribute processing of

collections over multiple threads

Better application performance with simpler code

for enhanced productivity

Streams More functional programming style Functional style programming comes to Java -

simplification and flexibility

Annotations on types Better compile time error checking Speeds up app dev process

Date and Time API Simplified API Simplified API, improves developer productivity

Compact Profiles Reduced JRE size Expands the possibilities of Java for limited footprint

environments

Nashorn JavaScript engine Better JavaScript performance A new script engine with better performance for

Javascript users

JavaFX Better Swing interoperability;

Added HTML 5 features

WebView’s HTML 5 support, 3-D, embed Swing

nodes inside a Scene Graph, new UI controls

www.oracle.com/java8

Page 7: Introducing Java 8

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

Project Avatar

HTTP

(REST)

Web Sockets

SSE

Data

Access

Change Notification

Databases

Client

*.html

*.js

*.css

Application Server

Java EE

Container Services

Avatar Server

Avatar.js

Sculpting Container

Nashorn

Page 8: Introducing Java 8

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

Java SE 7

Java 7

APIs Language

Java SE 7

CDC 1.1

CDC 1.1 (based on SE 1.4.2)

CLDC 1.1 (based on SE 1.3)

CLDC 1.1

Page 9: Introducing Java 8

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

Java SE 8 Java SE 8

Java ME 8

Java 8

Java ME 8

APIs Language

Page 10: Introducing Java 8

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

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 Locking

Generalized Target-Type Inference

DocTree API

Parallel Array Sorting Bulk Data Operations

Unicode 6.2

Base64

Prepare for Modularization

Parameter Names

TLS Server Name Indication

Configurable Secure-Random Number Generation

Java SE 8 Nashorn

Enhanced Verification Errors

Fence Intrinsics

Repeating Annotations

HTTP URL Permissions

Limited doPrivileged

Page 11: Introducing Java 8

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

“Java SE 8 is about taking advantage of new parallel architectures. Lambda, the key feature, opens the door for a new style of development that can lead to more parallelism and other capabilities like the Streams API are about parallel processing as well. The changes are significant for the community and for improving code quality everywhere in the long run.”

Page 12: Introducing Java 8

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

Java SE Embedded Java 8 Release Highlights

Configurable Footprint

Better Performance

Optimized for Embedded

Flight Recorder

& Mission Control

Rich graphics

Page 13: Introducing Java 8

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

“It’s finally here. And it’s being touted as a watershed moment for all those programmers who have been waiting for Oracle to unveil an open-source platform that would allow the Java community to truly innovate in a connected world.”

Page 14: Introducing Java 8

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

Platform Right-sizing

Java ME EP 8 (JSR 361) Java ME CLDC 8

(JSR 360)

Java ME 8

Power management framework

Remote deployment & management

Application monitoring, start-up, and recovery mechanism

Remote and local logging

File API Standard API Compatibility

Location API

XML API

Fully headless operation

Robust application execution model

Device I/O API

Embedded Connectivity (GCF, cellular, DIO, etc.)

Access to Peripheral Devices Web Services API

Java ME 8 SDK (Enhanced Embedded Tooling)

Modularized Software Services

Java SE Language Compatibility

Page 15: Introducing Java 8

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

Java ME 8

Key Features Benefit Message

Java ME CLDC 8: Updated VM +

alignment with Java SE 8

Aligned Java language, core APIs,

development, and tools

Alignment, unified development = even

greater code portability

Unified development experience & community

across Java

Skills transfer from edge devices

through to the enterprise

Improved configurability and optimized

footprint

Increased market reach /use cases -128 KB

RAM, 1 MB Flash/ROM onwards

Greater opportunity, increased market

reach

Java ME Embedded Profile 8: Embedded

Application Platform

Extending lifetime, flexibility, value and right

sizing of the platform and enhancing use cases

Embedded application development

made easier with Java

Software Provisioning and Management Supports remote deployment, management,

and monitoring of software components

Extracting greater value from devices

in-market with Java

Support for advanced connectivity Wide range of connectivity options-

wired/wireless

Greater Connectivity for the IoT era

needs

Enhanced security model Enables implementation of use case-specific

security policies for authentication and

authorization

Enhanced Security for the IoT era

The Platform for the Internet of Things

Page 16: Introducing Java 8

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

www.java.net/challenge Show the world what you can do with Java + IoT for a chance to win a trip to

JavaOne for you and two team members.

Page 17: Introducing Java 8

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

oracle.com/java8

oracle.com/java8launch

java.oracle.com

@Java

blogs.oracle.com/java

ILoveJava

YouTube.com/Java

www.java.net/challenge

education.oracle.com/java

oracle.com/javamagazine

Page 18: Introducing Java 8

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