Insert Picture Here - ??Insert Picture Here Java SE and Embedded SE ... • Industrial standards ... • Voice Messaging

  • View
    217

  • Download
    4

Embed Size (px)

Text of Insert Picture Here - ??Insert Picture Here Java SE and Embedded SE ... •...

  • Java SE and Embedded SE The road forward, 2011 edition

    Greg Bollella Chief Architect, Embedded Java

  • 2

    A Moment of Silence

    To remember those who perished in the earthquake and tsunami and to honor those helping with the reactor and all other restoration activities

  • 3 3

    The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle.

  • 4

    A Word on Content

    There is much more content in this presentation than we can talk about in an hour. Today I will highlight important points. Please obtain copies to reference after today. Feel free to contact me with any questions at any

    time.

  • 5

    Agenda

    Java SE Past Present Future

    Embedded Java (SE and OJEC) Background Tips Trends, Futures Resources Demo

    Q&A

  • 6

    Apples and Pears

    JDK

    javac

    java

    JRE

    jdbc

    I/O

    JVM G1 -Xmx=4g

  • 7

    Past

  • 8

    Language

    1.1

    1997 JDBC

    1.3

    2000 Hotspot

    5.0

    2004 Generics

    7

    ?

    1.0

    1996

    1.2

    1998 Collections

    1.4

    2002 JCP

    6

    2006 JVMTI

  • 9

    Working In Java

    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  • 10

    Work in Java

    http://www.indeed.com/jobtrends?q=java%2Cc%23%2Cpython%2Cruby%2Cperl%2Cscala%2C+erlang%2C+groovy&l=

  • 11

    2000

    2009

    2006

    2002

    JRockit products

    Complete insight into application & JVM behavior

    Zero performance overhead in production environments

    No application modification or configuration required

    JROCKIT MISSION CONTROL

    High-performance real-time solution for standard Java

    Industry leading Deterministic Garbage Collector

    Millisecond response times with five nines guarantee

    Improve application performance & latency with unique tooling

    JROCKIT REAL TIME

    Fly-weight Java container for virtualized environments

    Improve datacenter efficiency - do more with less

    Simpler and more powerful VM management

    JROCKIT VIRTUAL EDITION

    Server-side focus World-class performance

    Powerful diagnostics

    JROCKIT JVM

  • 12

    Java SWOT Sun days

    Strengths Most used programming language Garbage collection Community driven Adaptive runtime Install base Strong community High performance

    Weaknesses No new releases Steward out of cash No good Smart phone story

    Opportunities Multi Core JVM interop Cloud

    Threats Next big thing Walled garden platforms Not attractive to new developers Uncertain future

  • 13

    Present

  • 14

    What occupies our days?

    Dev Java 7 JDK 7 Convergence

    Misc Reconnecting with community Java 8 Java 9+

  • 15

    JDK 7 / Java 7

    Plan B Sep 8 2010

    Java 7 JSR approved Dec 7 2010

    JDK 7 Feature Complete Dec 16 2010

    GA Jul 28 2011

  • 16

    2 teams enter, one team leave

    Hotspot

  • 17

    2010 Eclipse Community survey

    69,8 + 21.7% vs 4.6%

  • 18

    2 teams enter, one team leave

    Hotspot Market share

  • 19

    2 teams enter, one team leave

    Hotspot Market share Client and Server version Quality

  • 20

    2 teams enter, one team leave

    Hotspot Market share Client and Server version Quality

    JRockit Value adds JRockit Mission Control JRockit Flight Recorder JRockit Virtual Edition

    Optimized for the Oracle stack

  • 21

    Convergence

    1 + 1 = 3 ?

  • 22

    Convergence

    JRockit Hotspot HotRockit

  • 23

    Official roadmap, from JavaOne 2010

    JDK 7 2011 JDK 8 2012 Open JDK unchanged JVM Merge -> Open JDK JDK/JRE still free, same terms on license Premium (Such as: JFR, JRMC, JFB, Support)

  • 24

    JDK 7 Features (Partial List) http://openjdk.java.net/projects/jdk7/features/

    JSR 292: Support for dynamically typed languages Strict class-file checking JSR 334: Small lang enhancements (Project Coin) Upgraded Class Loader Architecture Concurrency and collections updates Unicode 6.0 JSR 203: More new IO APIs NIO.2 Stream Control Transmission Protocol Sockets Direct Protocol Elliptic-curve cryptography (ECC)

  • 25

    JDK 8 Planning

    JSR 294: Language and VM support for modular programming JSR 308: Annotation on Java Types JSR TBD: Language support for collections JSR TBD: Project Lambda (closures) Modularization (Project Jigsaw) Swing Application Framework Swing JDatePicker component

  • 26

    Java SWOT Oracle

    Strengths Most used programming language Garbage collection Community driven Adaptive runtime Write once Strong community High performance

    Weaknesses No new releases Steward out of cash No good Smart phone story

    Opportunities Multi Core JVM interop Cloud

    Threats Next big thing Walled garden platforms Not attractive to new developers Uncertain future Bad name in community

  • 27

    Future

  • 28

    Whats Coming

  • 29

    Switching Gears

    Oracle Java Embedded Client CVM, CDC JRE

    Embedded SE Hotspot, SE JRE

  • 30

    Java Everywhere

  • 31

    The Spectrum of Java

    Servers Desktop Embedded TV Mobile Card

    Java Language

    Java SE Java ME Java Card

    Java EE Java TV

    BD-J

    JavaFX MSA

  • 32

    Switching Gears

    Oracle Java Embedded Client CVM, CDC JRE

    Embedded SE Hotspot, SE JRE

  • 33

    How to Choose

    Oracle Java Embedded Client CVM, CDC JRE Best when Low static footprint Low use of dynamic memory Very portable across processor/OS combinations

    Embedded SE Hotspot, SE JRE Best when: High throughput Full SE API set

  • 34

    Introducing Oracle Java ME Embedded Client Industry leading, best-in-class CDC JVM

    Version 1.0 to be released in Q2 CY2011 Connected Device Configuration 1.1.2 Foundation Profile (FndP) 1.1 Personal Basis Profile (PBP) 1.1 Optional packages: Web Services (JSR-172) ,

    JDBC (JSR-169), RMI (JSR-66)

    High performance and reliability with low memory footprint

    Java SE subset Static (CDC 1.1.2 headless): 3.5MB Dynamic: Typical RAM 8MB and up

  • 35

    Oracle Java ME Embedded Client Overview

    Optimized for resource constrained devices Ported to multiple Processors / OS / Graphics Mass deployments in industrial and consumer devices Available in binary and source

  • 36 36

    Oracle Java ME Embedded Client Release 1.0

    Linux Arm v5/v6/7 Linux MIPS Linux PPC

    Linux x86 Windows x86

    Headless Stack Headful and SDK

  • 37 37

    Target runtime binary ARM v5/v6/v7, MIPS, PowerPC Linux Headless Install Guide, User Guide, Release Note

    SDK in Windows and Linux Starter kit - step by step guide to creating a new Java embedded system

    White paper link to How To guide How to get Linux running on the BeagleBoard How to install JEC, use the NetBeans plug-in, access the USB, connect to the network, log data, access sensors, install and use a web server, etc. Sample code/app and how to build a simple app

    Dev board link to Beagle board vendor Tools link to NB plug-in

    Oracle Java ME Embedded Client What is included in 1.0?

  • 38

    Fast startup time Romization Ahead of time Compiler (AOT) Multiple application support (mTask)

    Low power handling, optimized battery power Fast dynamic compiler

    Tunable and easily retargetable Native calling

    Fast native calling with CNI CLDC/MIDP support with KNI JNI

    Oracle Java ME Embedded Client Major Features (1)

  • 39

    Portability JIT & OS Porting layer Service Provider API Easy porting and re-targetable to different OSs & CPUs Direct calls to HW for optimization Almost entirely in C Portable to compilers that dont support 64-bit longs

    Pluggable architecture Java compatibility

    JVM and JLS compliant Proper subset of Java SE API

    Industrial standards OSGi, BD-J, GEM/MHP, OCAP, Ginga-J

    Portion of library code optimized for small devices

    Oracle Java ME Embedded Client Major Features (2)

  • 40

    Hardened system Resource Management, Memory Allocator Fail gracefully Well tested in low resource conditions

    Ordered shutdown and re-startability ThreadControl Clean shutdown and re-start Re-Initialize correctly on VM re-start

    JVMTI support Multi core support MIDP/MSA support Pluggable Graphics architecture Leverage OS capabilities (e.g. processes for mtask)

    Oracle Java ME Embedded Client Major Features (3)

  • 41

    Java API and language to SE 6 subset New languages features New API packages (Security, NIO, Logging, Annotations, GCF,

    Unicode) Enhancements

    X86 JIT added 32 bit typeid support Improved Symmetric Multiprocessing support Multitasking support Memory

View more