33

- Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements
Page 2: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

<Insert Picture Here>

Java Update

Harvey King 金弘权Sales Consultant

Page 3: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

3

What is “Java”

• “Java” can be refer to– Programming language– Virtual Machine– Technology Platform

Page 4: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

4

Java As a Programming Language

• “Simple”, “Objected Oriented”, “Familiar”– based upon C / C++ syntax

• "robust and secure"– Sandbox security model, bytecode verification– automatic memory management, no pointer operation

• (Machine) “Architecture Neutral and Portable”

• “Interpreted, Threaded, and Dynamic”

Page 5: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

5

“Java” as Virtual Machine

Java Application Code

Operating System

Java API’s

Memory Manager (Garbage Collection)

Interpreter/JIT Compiler

Bytecode Verifier

JRE

Source code is compiled to Java bytecode, which is verified, interpreted or JIT-compiled for the native architecture.

The Java APIs and JVM together make up the Java Runtime Environment (JRE).

JVM

Page 6: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

6

“Java” as Technology Platform

Servers Desktop Embedded TV Mobile Card

Java Language

Java SE Java ME Java Card

Java EE Java TV

BD-J

JavaFX MSA

Page 7: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

7

“Java” as Technology Platform

Java ME Embedded Java ME EmbeddedJava CardJava Card

SECURITY SMALL EMBEDDED MEDIUM EMBEDDED LARGE EMBEDDED DESKTOP SERVER

50KB-1MB

1MB-10MB

10MB-100MB

Footprint

Java SE EmbeddedJava Embedded SuiteOracle Event Processing Embedded

Java SE EmbeddedJava Embedded SuiteOracle Event Processing Embedded

100MB+

Java SEJava SE

Page 8: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

<Insert Picture Here>

8

Latest Java Update

Page 9: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

9

“Current Java”

Java SE 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 10: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

10

Java 8

Java SE 8Java SE 8

Java ME 8Java ME 8

APIs Language

Page 11: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

11

Beyond Java 8

Java SEJava SE

Small Devices

SmallDevices

APIs Language

Page 12: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

12

Lambda (JSR 335)Date/Time API (JSR 310)

Type Annotations (JSR 308)

Compact Profiles

Remove the Permanent Generation

Improve Contended Locking

Generalized Target-Type Inference

DocTree API

Parallel Array SortingBulk Data Operations

Unicode 6.2

Base64

Prepare for Modularization

Parameter Names

TLS Server Name Indication

Configurable Secure-Random Number Generation

Java SE 8Nashorn

Enhanced Verification Errors

Fence Intrinsics

Repeating Annotations

HTTP URL Permissions

Limited doPrivileged

Page 13: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

13

Java 8 Language Key Features

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

Page 14: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

14

Java SE Embedded Summary

• Java SE 8 embedded implementations for ARM,PPC & x86

• Full Java SE 8 language & API support

• Serviceability agent and Java Flight recorder supported

• New JDK 8 Compact Profiles– Sizes ranging from 11MB to 50MB depending on API needs

• Java FX Graphics now available for embedded

• GPU accelerated FX stack implemented in 18MB of static footprint

Page 15: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

15

JavaSE Embedded

Configurable Footprint

Better Performance

Optimized for Embedded

Flight Recorder & Mission Control

Rich graphics

Page 16: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

16

Page 17: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

17

Java ME 8 Platform Overview

Java VM

AdditionalAPIs(Examples)

Java ME Connected Limited Device Configuration (CLDC) 8 (JSR 360) Java ME Connected Limited Device Configuration (CLDC) 8 (JSR 360)

AdditionalOptional APIs

AdditionalOptional APIs

On-Device I/O Access

Vertical Specific APIs

Vertical Specific APIsLocationLocation

MessagingMessagingWireless

CommunicationWireless

Communication

Web ServicesWeb Services

Protocols and Data ConversionProtocols and

Data Conversion

SensorsSensorsAdditional

Optional JSRsAdditional

Optional JSRs

Security andManagementSecurity andManagement

Use Case Software(e.g. smart pen)

Use Case Software(e.g. smart pen)

Use Case Software(e.g. wireless module)Use Case Software

(e.g. wireless module)Use Case Software

(e.g. control unit)Use Case Software

(e.g. control unit)Use Case Software(e.g. smart meter)

Use Case Software(e.g. smart meter)

Application Platform

Java ME Embedded Profile (MEEP) 8 (JSR 361)

Java ME Embedded Profile (MEEP) 8 (JSR 361)

On-Device I/O Access

Device I/O API

Device I/O API

SATSA(JSR 177)

SATSA(JSR 177)

Security and Trust Services

Generic Connection Framework

GCF 8GCF 8

Page 18: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

18

Java EE Focus and Direction

Standard: For developing enterprise applications

Modularity: Supporting modular design

Extensibility: Embracing innovation

Portability: Across vendors, across clouds

Productivity: For enterprise Java developers

Page 19: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

19

Java EE 7 – Design Objectives

Java EE 7Java EE 7

Concurrency Concurrency

Batch Applications

Batch Applications

JSON APIJSON API

WebSocketWebSocket

JMS 2.0JMS 2.0

JAX-RS 2.0 JAX-RS 2.0

EL 3.0EL 3.0

Expanded CDI& REST SupportExpanded CDI& REST Support

Broad Industry Participation

Broad Industry Participation

Build on EE 6 Momentum

Build on EE 6 Momentum

Page 20: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

20

Java Card: Open and Multi-application Platform

Java Card™ Virtual Machine

Java Card™ API

Java Card™ Runtime Environment

Card ManagementSecurity Policy

Vertical market API

Application

Applications can be loaded or removed after card issuance

Application

Application

Page 21: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

21

Java Card Architecture

Secure Chip (Smart Card/SIM/other)

Chip Specific Layer

Smart Card Kernel

Java Card VM Java Card Run-Time Env

Chip Crypto Libraries

GlobalPlatform Runtime

Security Certifications

CC (e.g. EAL 5+)

Java Card APIs

GlobalPlatform APIs Crypto proprietary APIs**

Security Domain 1

Security Domain …

Security Domain n-1

ICAO (ePass-port)

PBOC eSign

Payment App

Java Card Binary + Global Platform

Vertical specific Java Card Applets

Bio Match-on-Card

Security Certifications(Deliverables within Code, Processes & Documentation)

**Hardware specific crypto/native interface

Page 22: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

22

Java Card: Typical Hardware

• 32 - 48K ROM

• 16 - 128K EEPROM

• 1 - 2K RAM

Page 23: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

23

Java Card™ Feature and API Supported

• boolean, byte, short, int (optional)

• One-dimensional arrays

• Reference to class instance

• Packages, classes, interfaces, and exceptions

• Classes (some of java.lang)– java.lang.Object – Throwable

• long, double, float

• Characters and Strings

• Multidimensional arrays

Page 24: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

24

Java Card™ Feature and API Supported

• Java object-oriented features:– dynamic object creation– inheritance– virtual methods– access scope– generics– exception handling

• Object Deletion Mechanism (optional)

• Java features:– Dynamic Class Loading– Security Manager– Finalization– Threads– Cloning– Varargs

• Keywords native, synchronized, transient, volatile, strictfp, enum, assert

Page 25: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

25

Java 9 and Beyond

Jigsaw

Cloud

Ease of useOptimizations Generic Lang Interoperability

Penrose

OpenJFX

Project Sumatra – Java for GPUs

Ports: Power PC/AIX

Multi-Tenancy Support

Self Tuning JVM

Improved Integration with Native

Resource Management

Lang Enhancements

Unified Type SystemData Structure Optimizations

Page 26: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

26

Java Roadmap

JDK 8 (Q1 2014)• Lambda• JVM Convergence• JavaScript Interop• JavaFX 8

7u40• Java Flight Recorder• Java Mission Control

5.2• Java Discovery Protocol• Native memory tracking• Local Security Policy

JDK 9• Modularity – Jigsaw• Interoperability• Cloud• Ease of Use• Optimizations 7u21

• Java Client Security Enhancements• App Store Packaging tools

Java ME Embedded 3.4• Fast follow-on• QSC platform only• Enhanced on-device

debugging, monitoring

Java Embedded 9• Java ME and SE 9• Modularity based on

Jigsaw

Java SE Embedded 8 • Complete JVM convergence• New Compact Profiles• Significantly smaller base runtime• Embedded JRE customization tool• Support for ARM, Power PC & x86• Java Flight Recorder/Mission

Control• Simple migration of ME CDC

headless applications

Java ME Embedded 8• Java ME CLDC 8 & ME

Embedded Profile 8• “Little sibling” of Java SE 8• New & enhanced Embedded

API• New portable architecture• Small and full profilesJava ME SDK 8• Improved developer tooling &

experience

20152013 2014 2016

Page 27: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

27

We encourage you to use the newly minted corporate tagline “Hardware and Software, Engineered to Work Together.” at the end of all your presentations. This message should replace any reference to our previous corporate tagline “Software. Hardware. Complete.”

Page 28: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

28

Page 29: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

29

Java SE Commercial Offering

FeaturesFree

Java SEJava SE Support

JavaSE Advanced Desktop (*)

Java SE Advanced

Java SE Suite

Access to My Oracle Support ✔ ✔ ✔ ✔24x7, 27 language support ✔ ✔ ✔ ✔Fast fix turnarounds ✔ ✔ ✔ ✔Access to updates on older, EOL’d versions ✔ ✔ ✔ ✔

Usage tracking feature ✔ ✔ ✔Diagnostics, tooling and monitoring (desktop only) ✔ ✔ ✔Diagnostics, tooling and monitoring (server/desktop) ✔ ✔

Deterministic GC ✔

Page 30: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

<Insert Picture Here>

30

Java and Openess

Page 31: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

31

Java: the Most Open Technology PlatformOpen != “Open Source != Free

• Java the Language Specifications / features are “open” to the community

• Java the Platform Specifications are open to the community

• Java the Virtual Machine Implementation is completely independent from the Specification

Page 32: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

32

Criteria for “Open Specification”

• not controlled by one company / entity– including life cycle

• public

• readily available

• unprotected

Page 33: - Oracle · JDK 9 • Modularity – Jigsaw • Interoperability • Cloud • Ease of Use 7u21 • Optimizations • Java Client Security Enhancements

33