JavaSEUpdate

WolfgangWeigend PeterDoschkinow

1 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. Thefollowingisintendedtooutlineourgeneral productdirection.Itisintendedforinformation purposesonly,andmaynotbeincorporatedinto anycontract.Itisnotacommitmenttodeliverany material,code,orfunctionality,andshouldnotbe relieduponinmakingpurchasingdecisions.The development,release,andtimingofanyfeatures orfunctionalitydescribedforOracle’sproducts remainsatthesolediscretionofOracle.

2 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. DiePlattform

Servers Desktop Embedded TVTV Mobile Card BD-J Key JavaEE JavaFX JavaTV MSA

Plattform JavaSE JavaME JavaCard

Language JavaLanguage JavaPlattform

3 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. MaketheFutureJava

 PlatformCompleteness  ModernizationandInnovation  DeveloperProductivity  OpenandTransparentEvolution  ActiveCommunityInvolvement  QualityandSecurity

4 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. Progress

Community Technology OracleStewardship OpenJDK JavaSE Outreach • Newpublicbugsystem • 50+SecurityEnhancements,seven • FourregionalJavaOne eventswith JRE7Updates over5000attendees • Infrastructureupdates • JDK8DeveloperPreviewavailable • Over1Miotouchpointsreached • 114newcontributors throughevangelism JavaFX JCP OracleTechnologyNetwork • Allcodeisopensourcedaspartof • JCPnextprogress OpenJFX • Over150.000subscriberstoOracle • 20+JUG’sparticipatingin JavaMagazine • ReleasedSceneBuilder1.1 • 14JSR’sfinalizedsincelastyear • Over100.000@javafollowerson JavaEmbedded Twitter JavaUserGroup’s • JavaME3.3runtimeavailable Java.net • IncreaseinJUG’s(Growthfrom • ARM32-bitHardFP ABIsupport 197to228) • Over852.512members • GreaterJUGinteraction JavaEE • Over2300publicprojects • Pilotingcodechallenges • LaunchedJavaEE7,GlassFish 4.0 • FournewJSR’s

5 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JDK7Funktionsumfang • Coin– KleineSprachverbesserungen • DynamicLanguageSupport • ConcurrencyundCollectionsUpdates • Netzwerk undFileSystem • Internationalisierung • JVMKonvergenz • Sicherheit

6 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. Sprachen dieaufder JVMlaufen

Groovy JRuby … … Scala JavaScript

7 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. Garbage-FirstG1GarbageCollector • G1GarbageCollectorist mit OracleJDK7Update4undhöheren Versionen vollständig unterstützt • -StyleGarbageCollector • Multi -Processor Maschinen mit großem Speicher als Zielplattform • GC-Pausezeiten orientieren sich anhohem Durchsatz • Für Anwendungen mit großer Heap-Anforderung undgeringer GC-Latency • Für 6GBHeap-Größen oder höher undkonstante,voraussagbare Pausezeiten unter 0,5Sekunden

8 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaMissionControl5.2

9 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaFlightRecorder– Howisitbuilt?

• Informationgathering − InstrumentationcallsallovertheJVM − ApplicationinformationviaJavaAPI • CollectedinThreadLocalbuffers ⇢ GlobalBuffers ⇢Disk • Binary,proprietaryfileformat • ManagedviaJMX • JavaFlightRecorder − StartfromJMC5.2orCLI • ActivateFlightRecorder − -XX:+UnlockCommercialFeatures − -XX:+FlightRecorder

10 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSecurityBestandsaufnahme

• Javainthebrowser hasbecomeapopularmeanstodeliver exploits • Warum? – Oldreleases: Manyusersarenotonthecurrentsecuritybaseline,or havemultiplereleasesofJavainstalled – Silentexploits: Traditionally,sandboxedappswouldrunwithoutany indicationtotheuser.Thiswasapopularwaytodeliver – Insecuresandbox: TheJavasandboxisexpectedtoprotectusers,but toomanyexploitshavebeenidentifiedforthattobebelievable. – Vulnerabilitybacklog: clearthebacklog

11 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. WhyisSecurityImportanttoOracle? Javaisatthecenterofourapplications

12 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. WhatisOracleDoinginJavaSecurity? Effortsarebroadbutthemessageissimple

• DefendJava– limitabilityofattackers tousemaliciousappletsasameansofattack • AccelerateRemediation– accelerateproductionof securityfixes • NewSecurityFeatures– newsecuritycountermeasuresto strengthenJava • JavaSE8postponedto„securethetrain“

13 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. LargerSecurityPolicyAreas

 SA/CPURSSFeeds Deployment  ArchitectureReview  SecurityBlog Communications  PeerReview  eBlasts Lifecycle  SecurityTesting  Java.comSecurity  PostMortems Security

Remediation  CPU  SecurityAlerts

14 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaCriticalPatchUpdates

 RulesforJavaCPU’s − Mainreleaseforsecurityvulnerabilities − CoversallJDKfamilies(7,6,5.0,1.4.2) − CPUreleasetriggersAuto-update − Datespublished12monthsinadvance − SecurityAlertsarereleasedasnecessary − Basedofftheprevious(non-CPU)release − Releasedsimultaneouslyonjava.comandOTN

15 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaCriticalPatchUpdatesandupcoming

 15 th ofOctober2013(transitiontoOracleCPUschedule)  14 th ofJanuary2014  15 th ofApril2014  15 th ofJuly2014  14 th ofOctober2014  CPU‘s http://www.oracle.com/technetwork/topics/security/alerts-086861.

16 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSEUpdateRelease(1)

Version FeaturesandChanges JDK6u ● Nomorepublicupdates ● JRE6isbelowsecuritybaseline JDK7u6 ● Dynamicsecuritybaseline JDK7u10 ● Securitylevel ● JavaControlPanel(JCP)optiontodisableJavainthebrowser ● ExpiringJRE ● JNLPauto-downloadsupportremoved ● DynamicToolkit(DT)auto-downloadforsecureJavaversionsonly ● Localappletsblockedatdefaultsecuritylevel

17 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSE7UpdateRelease(2)

Version FeaturesandChanges JDK7u21 ● Signedsandboxapplications ● Locationassociatedwithcertificate ● DynamicblacklistofcertificatesandJARs ● Liveconnectchanges JDK7u25 ● Certificaterevocationcheckingisonbydefault ● Manifest entries:“Permissions”and“Codebase” JDK7u40 ● Betterrevocationcheckingperformance ● DeploymentRuleSet

18 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSE7u40– DeploymentRuleSet Overview • Forenterprisesthathavedirectcontrolofclient desktops. • Allowsuseoflegacyenterpriseapplicationswithout modifyingthemtoconformtonewsecurityrequirements. • Avoidfuturesecuritydialogsandrestrictions. – Signedapplicationjarswillstillbecheckedforvalid signature,revocation,andblacklisting,butmaybeself-signedor expired

19 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSE7u40– DeploymentRuleSet DeploymentRuleSetJAR • Therulesetiscontainedinanxmlfile,ruleset.xml. • Theruleset.xmlfileisthenincludedinafile,DeploymentRuleSet.jar. • ThisJARmustbeproperlysigned(verifiedbyTrustedCertificate Authorityandeithertimestamped orcurrentlyvalid). • TheJARmustthenbeinstalledoneachclientmachineinthesecure location/DeploymentRuleSet.jar. • DeploymentRuleSet.jarsignedwithinvalid,selfsigned,expired, blacklisted,orrevokedcertificatewillcauseallapplicationstobe blocked. • http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/deployment_rules.html

20 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. BestPractices DeploymentMethods • Deploymentoptions: – JavaWebStart – Browser – Self -Containedapplication(packager) • FordeployingSelf-ContainedstandaloneJavaapplications see http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm

21 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. BestPracticesforsecureJavawebdeployment Evaluateyourapplication • DeploymentConsiderations – all-permissionsorsandbox – liveconnect,JS->Java,Java->JS,roundtrip – JVMoptions – JavaSystemproperties – JREVersion – Locationofartifacts- html/jnlp/JARs • aretheyallcomingfromsamehost? • lazyresources • 3rdpartyresources • SignedJARs

22 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. BestPracticesforsecureJavawebdeployment ReadSecureCodingGuidelines • SecureCodingGuidelines – http://www.oracle.com/technetwork/java/seccodeguide-139067.html • Lotsofgoodrecommendationsregardingcodingsecurely. • IthassomediscussiononsubjectsdirectlyrelatedtodeployingJava securelyonthewebsuchashowtouse doPrivileged blocks

23 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. BestPracticesforsecureJavawebdeployment SignedJNLP • WhatisSignedJNLP? – BasicallywhentheexternalJNLPfileis duplicatedinyourmainsignedJAR – CopyofJNLPinsignedJARmustmatch webservercopy • JNLP-INF/APPLICATION.JNLP • JNLP-INF/APPLICATION_TEMPLATE.JNLP – Templatespecifiesvaluesthatcanbe substitutedbytheexternalJNLP

24 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. BestPracticesforsecureJavawebdeployment PreventyourJARsfrombeingrepurposed • RepurposingiswhenanattackerusessomeofyourJAR’s,withsome combinationofotherJARs,JNLPfiles,applettagsor using Liveconnect • Setoptional“Codebase”manifestattributetoindicateorigin – Youcanspecifymultiplelocations – PreventsattackercopyingJARtoanotherserver – Examples: • Codebase:oracle.com • Codebase:https://*.oracle.com*.java.net

25 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. BestPracticesforsecureJavawebdeployment PreventyourJARsfrombeingrepurposed • SignedJNLPprevents: – Yourapplicationbeingrunwithdifferentapplicationarguments,JVM arguments andsystemproperties – ReplacingyourJARswithotherextensions – UsingyourJARsinanonJNLPapplet • RecommendusingHTTPS – Preventsrepurposingthroughmaninthemiddleattack – Preventingapplicationsfrombeingrepurposed: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/no_redeploy.html

26 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. BestPracticesforsecureJavawebdeployment SigningJARs • Movingtoamodelwherejarsmustbesigned(requiredbyJan2014) – MorefriendlyuserexperiencewithvalidCAsignedjars – AlwayssignwithavalidCAcertificate,sandboxandall-permissions – TimestampJARsignatures(morerobustfuturevalidation) – Revokeyourcertificateifitiscompromised – Importcertificateintokeystoreduringdevelopment • ImportfromtheJavaControlPanel • Importfromcommandline • Self-signedorlocalCAcertificatetreatedasvalidCAcertificate

27 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSE7u45SecurityFeaturesandChanges

• ProtectionsAgainstUnauthorizedRedistributionofJavaApplications − Startingwith7u45,applicationdeveloperscanspecifynewJARmanifestfileattributes: − Application-Name − Caller-Allowable-Codebase − Thisattributespecifiesthecodebase/locationsfromwhichJavaScriptisallowedtocallAppletclasses − Application-Library-Allowable-Codebase • RestoreSecurityPrompts – NewisavailableintheJavaControlPanel(JCP)toclearpreviouslyremembered trustdecisions • TimeZone.setDefaultChange – java.util.TimeZone.setDefault(TimeZone)methodhasbeenchangedtothrowa SecurityException ifthemethodiscalledbyanycodewithwhichthesecuritymanager's checkPermission calldeniesPropertyPermission("user.timezone","write")

28 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSE7u51SecurityHighlights(January2014)

• Self-signed/unsignedblockedbydefault – Blockself-signedandunsignedatHigh(default) – Manifest“permissions”attributerequiredonHigh(default) securitylevel – Allappletswrittenbefore7u25willnolongerrunbydefault

29 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JDK8– Zeitplan DetailplanungfürM6bisRelease-Freigabe • FeatureComplete — Allfeatureshavebeenimplementedandintegratedinto themasterforest,togetherwithunittests • DeveloperPreview — Areasonablystablebuildsuitableforbroadtestingby thedevelopercommunityispublished.Thisbuildwillincludeallplanned featuresunlessotherwisestated • AllTestsRun — Allplannedtestshavebeenrun,atleastonce,onall supportedplatforms • Rampdown — Phasesinwhichincreasinglevelsofscrutinyareappliedto incomingchanges.Inphase1,onlyP1 -P3bugscanbefixed.Inphase2only showstopperbugscanbefixed • API/InterfaceFreeze — AfterthispointAPIsandotherinterfaces,including thosedefinedincomponentJSRs,canbechangedonlyinordertofix showstopperbugs • ZeroBugBounce(ZBB) — Thebugbacklogiscompletelyaddressed.No openbugwithafixtargetedtothereleaseisolderthan24hours,andother bugshavebeendeferredtoafuturerelease • FinalReleaseCandidate — Thedatebywhichthefinalreleasecandidate mustbedeclaredandsubmittedfortesting.Oneormorereleasecandidates willbedeclaredaftertheplannedZBBdate;ifanotherisnecessaryafterthis milestonethentheGAdatewillbeatrisk • GeneralAvailability — Finalrelease,readyforproductionuse

30 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JDK8geplantfür2014 Innovation JavaforEveryone Client • LambdaJSR335 • Profilesforconstraineddevices • Deploymentenhancements • LanguageInteroperability • JSR310– Date&TimeAPI‘s • JavaFX8 • Nashorn • Non-Gregoriancalendars • PublicUIControlAPI • Unicode6.1 • JavaSEEmbeddedsupport CoreLibraries • ResourceBundle • EnhancedHTML5support • BCP47localematching • 3Dshapesandattributes • ParalleloperationsforcorecollectionsAPI‘s • Globalization&Accessibility • Printing • Improvementsinfunctionality • Improvedtypeinference Tools Security GeneralGoodness • Compilercontrol&logging • LimiteddoPriviledge • JSR308– AnnotationsonJavaType • NSASuiteBalgorithmsupport • JVMenhancements • Nativeappbundling • SNIServerSidesupport • NoPermGenlimitations • AppStoreBundlingtools • DSAupdatetoFIPS186-3 • PerformanceImprovements • AEADJSSECipherSuites

31 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. LambdaAusdrückeJSR-335

• FunctionalInterfaces:“Aninterfacewithonemethod” • Vorschlag zum Sprachumfang vonJavaSE8 − 0.6.1EarlyDraftReview3Specificationbis März 2013 file:///C:/Java/jsr335-0.6.1/index.html − PrototypeBinaries verfügbar : http://jdk8.java.net/lambda/ • LambdaExpressions(closures) /* (intx,inty){returnx+y;} */ • ParameterListe → -> Operator → Expressionod.Statements (Stringx)->{return!x.isEmpty();} • Washergeleitet werden kann,kann auch weggelassen werden x->!x.isEmpty() 32 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. LambdaAusdrücke StateoftheLambda4thEdition

Todaywewrite:

Collections.sort(people,newComparator(){ publicint compare(Personx,Persony){ returnx.getLastName().compareTo(y.getLastName()); } });

/*Thisisaveryverbosewaytowrite"sortpeoplebylastname"!*/

Withlambdaexpressions,wecanmakethisexpressionmoreconcise:

Collections.sort(people, (Personx,Persony)->x.getLastName().compareTo(y.getLastName()));

33 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. ErweiterungderCoreLibrariesmitLambdas • Keine einfache Aufgabe – JavaSE7has4024standardclasses • ModernizegenerallibraryAPI’s • Improveperformance – Gainsfromuseofinvokedynamic toimplementLambdas • Demonstratebestpracticesforextensionmethods

34 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. ConcurrencyUpdates • Scalableupdatevariables – DoubleAccumulator , DoubleAdder ,etc – Multiplevariablesavoidupdatecontention – Goodforfrequentupdates,infrequentreads • ConcurrentHashMap updates – Improvedscanningsupport,keycomputation • ForkJoinPool improvements – CompletionbaseddesignforIOboundapplications

35 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. BulkDataOperationsfür Collections Filter,Map,ReduceforJava • AddfunctionalitytotheJavaCollectionsFrameworkforbulk operationsupondata • Thisiscommonlyreferencedas“filter/map/reduceforJava” • Thebulkdataoperationsincludebothserial(onthecallingthread) andparallel(usingmanythreads)versionsoftheoperations – Serialandparallelimplementations • Operationsupondataaregenerallyexpressedaslambdafunctions • ParallelimplementationbuildsonFork-Joinframework

36 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. ParallelArraySorting • Additionalutilitymethodsin java.util.Arrays – parallelSort (multiplesignaturesfordifferentprimitives) • Anticipatedminimumimprovementof30%oversequentialsort – Fordualcoresystemwithappropriatesizeddataset • Builtontopofthefork -joinframework – UsesDougLea’s ParallelArray implementation – Requiresworkingspacethesamesizeasthearraybeingsorted

37 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. LambdaAusdrücke– Parallelisiert StateoftheLambdaLibrariesEdition Liststudents=new ArrayList <>(...); ... doublehighestScore = students. parallel () .filter (s->s.getGradYear()==2011) .map (s->s.getScore()) .reduce (0.0,Integer::max );

− More readable − Better abstraction − No reliance on mutable state − Runs in parallel − Works on any data structure that knows how to subdivide itself  ConcurrentBulkDataOperationsinJavacollectionsAPI’s(JEP107) − filter/map/reduce 38 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. Lambda-FormRepresentationfür MethodHandles Assemblylanguagecodere-writteninJava • Improveperformance,quality,andportabilityofmethodhandles andinvokedynamic • ReducetheamountofassemblycodeintheJVM • Reducenativecallsduringmethodhandleprocessing • BetterreferenceimplementationofJSR292(invokedynamic)

39 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. ProjectNashorn

• ECMAScript5.1compliantJavaScriptthatrunsontheJVM − Accessibleviajavax.scriptAPIorjjscommandline • ReplacementforRhino • ExploitsJSR-292viaDynalink • FullypartoftheOpenJDK • AvailableonJavaSEandJavaME • Nashorn- DerWegzurpolyglottenVM

40 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. ProjectNashorn Invokedynamicund„MethodHandle“

41 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. Nashorn Debugging- Experiments

• Debuggingoptions − IDEintegrationofNashorn − CommonAPIfornon-Javalanguages − Chrome/Safariwireprotocols − Askari

o AskariisasampleJSdebuggerdemonstratedatJavaOneSF2013

o https://github.com/wickund/nashornexamples

42 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. AnnotationsonJavaTypes • Annotationscancurrentlyonlybeusedontypedeclarations – Classes,methods,variabledefinitions • Extensionforplaceswheretypesareused – e.g.parameters • Permitserrordetectionbypluggabletypecheckers – e.g.nullpointererrors,raceconditions,etc

publicvoid(@notnullListdata){…}

43 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. DateandTimeAPI

• Anewdate,time,andcalendarAPIfortheJavaSEplatform • Supportsstandardtimeconcepts – Partial,duration,period,intervals – date,time,instant,andtime-zone • Providesalimitedsetofcalendarsystemsandbeextensibletoothers • Usesrelevantstandards,includingISO-8601,CLDR,andBCP47 • Basedonanexplicittime-scalewithaconnectiontoUTC

44 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSE8Compact-Profilemit Speicherbedarf

45 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaSE8Compact-Profilemit Packages

Compact1Profil Compact2Profil Compact3Profil VollständigeJRE java.lang java. java.lang.management java.applet java.io jvax.sql javax.management java.awt java.nio javax.xml javax.naming java.beans java.text org.w3c.dom java.sql.rowset javax.activity java.math org.xml.sax javax.security.auth.kerberos javax.rmi java.net java.rmi org.ietf.jgss javax.rmi.CORBA javax.net javax.rmi javax.script org.omg java.util javax.transaction javax.xml.crypto javax.accessibility java.util.logging java.util.prefs javax.imagio java.security javax.security.sasl javax.print javax.crypto javax.security.acl javax.sound javax.security javax.lang.instrument javax. javax.annotation.processing javax.activation javax.lang.model javax.jws javax.lang.model.element javax.xml.bind javax.lang.model.type javax.xml.soap javax.lang.model.util javax.xml.ws javax.tools javax.annotation

46 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaFX ist dasstrategische Java-UIfür Rich-Client-Anwendungen  Einheitliche Applikationsentwicklung für Java- undWeb-Anwendungen • BrowserPlug-in,WebStart,NativeExecutables • HardwareAcceleratedGraphics(DirectX,OpenGL) • JavaFXwirdmitHTML-DOMausgestattet − JavaFXmitWebViewfürHTML5Features(WebSockets,offlineBrowsing,lokale Datenbank) − Leistungsfähige JavaScriptEngine − JavaFXalsAppleteingebettetineinerWeb-Seitelauffähig  JavaFX 2.0Plattform Sprachwechsel • Javaals nativeSprache - anstatt JavaFX Script • JavaFXAPIsinJavaimplementiert • VorteilebeiVerwendungvonGenerics,AnnotationsundMultithreadingfürJavaFX  JavaFX 2.2.45verfügbar undmit NetBeans7.4unterstützt • MigrationspfadfürSwing- undSWT-basierteAnwendungen • JFXPanel Komponente ermöglicht dasEinbinden vonJavaFX Anwendungen inSwing • OpenSourcemitOpenJFXundimJCPstandardisiert  JavaFX SceneBuilder1.1GA 47 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaFXviaOpenSourceaufdemWeginsJDK8

OpenSource Konvergenz Standardisierung OpenJFXProjectunder Commonlicensewith Oraclecommittedto OpenJDK JavaSE(inplace) JavaFXstandardization Firstphasetofocuson JavaFXtobeincluded JSRtobesubmitted UIControls inJavaSEbyJDK8 throughJCP JavaFX forJavaSE Embedded(ARM)

48 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. LaunchJavaFX Applications • SupportthedirectlaunchingofJavaFX applications • Enhancementtothejavacommandlinelauncher

49 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. JavaRoadmap

JDK7u21 JDK7u40+7u45 JDK8(Q12014) JDK9 • JavaClient • JavaFlightRecorder • Lambda • Modularity- Jigsaw Security • JavaMissionControl • JVMConvergence • Interoperability Enhancements • JavaDiscoveryProtocol • JavaScriptInteroperability • Cloud • NativeMemoryTracking • JavaFX8 • EaseofUse • LocalSecurityPolicy • Optimizations

2013 2014 2015 2016

JavaMEEmbedded3.4 JavaMEEmbedded8 JavaSEEmbedded8 JavaEmbedded9 • Fastfollow-on • JavaMECLDC8&MEEmbedded • CompleteJVMconvergence • JavaMEandSE9 • QSCplatformonly Profile8 • NewCompactProfiles • Modularitybasedon • Enhancedon-device • „Littlesibling“ofJavaSE8 • Significantlysmallerbaseruntime Jigsaw debugging,monitoring • New&enhancedEmbeddedAPI • EmbeddedJREcustomizationtool • Newportablearchitecture • SupportforARM,PowerPC&x86 • Smallandfullprofiles • JavaFlightRecorder/Mission JavaMESDK8 Control • Improveddevelopertooling& • SimplemigrationofMECDC 50 Copyright©2013,Oracleand/oritsaffiliates.Allrigexperiencehts headlessapplications reserved. JavaRoadmap

Java8Feature BeyondJava8

• Lambda – JSR335 • ModularPlatform – Jigsaw • Data&TimeAPI– JSR310 • UnifiedTypeSystem • NashornJavaScriptEngine • LanguageInteroperability • SecurityEnhancements • Memory-efficientdatastructures • JavaonGPU’s– Sumatra

51 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. Zusammenfassung  JavaSE7 • Inkrementelle,evolutionäre Änderungen  JavaSE8 • FunktionaleProgrammierung:Lambda  JavaME • Konvergenz mit JavaSE  JavaSE9 • Modularisierung:Jigsaw  JavaEE7 − Neue API’s  Javaals Plattform nutzt Innovationen im Ökosystem undpaßt sich dem Änderungprozess der ITan

52 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved. VielenDankfürIhreAufmerksamkeit!

[email protected]

[email protected]

53 Copyright©2013,Oracleand/oritsaffiliates.Allrights reserved.