Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
<Insert Picture Here>
Java Update
Harvey King 金弘权Sales Consultant
3
What is “Java”
• “Java” can be refer to– Programming language– Virtual Machine– Technology Platform
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”
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
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
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
<Insert Picture Here>
8
Latest Java Update
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
10
Java 8
Java SE 8Java SE 8
Java ME 8Java ME 8
APIs Language
11
Beyond Java 8
Java SEJava SE
Small Devices
SmallDevices
APIs Language
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
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
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
15
JavaSE Embedded
Configurable Footprint
Better Performance
Optimized for Embedded
Flight Recorder & Mission Control
Rich graphics
16
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
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
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
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
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
22
Java Card: Typical Hardware
• 32 - 48K ROM
• 16 - 128K EEPROM
• 1 - 2K RAM
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
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
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
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
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.”
28
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 ✔
<Insert Picture Here>
30
Java and Openess
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
32
Criteria for “Open Specification”
• not controlled by one company / entity– including life cycle
• public
• readily available
• unprotected
33