Trends and future of Java Recap from JavaOne 2014 By Csaba Toth Central California Java User Group 11/14/2014 Location: Bitwise Industries
Jul 04, 2015
Trends and future of Java
Recap from JavaOne 2014By Csaba Toth
Central California Java User Group11/14/2014
Location: Bitwise Industries
• JavaOne 2014 recap
• Java 8 new features
• Java 9 features
• JCP elections
JavaOne 2014• JavaOne + OracleWorld: one week conference at
the end of September, beginning of October• OracleWorld – mostly IT and infrastructure,
licensing. Oracle has their own user groups occupies all the Moscone Centers, including two streets in between them
• JavaOne – everything about software development
JavaOne 2014
• Keynotes: https://www.oracle.com/javaone/keynotes/index.html
• JavaOne keynote, technical keynote, community keynote
JavaOne
• Conference itself is improving
• Community (JUGs for example) get more and more role
• Updates on Java
– Java SE 8 and Java ME 8 came out, Java EE is following
JavaOne: IoT and Cloud
• Cloud and the Internet of things was again a big topics and making Java the platform of choice. IBM demonstrated how they were trying to make implementing Java on the cloud simpler and commented on how 250 gig heaps were now entirely possible.
JavaOne Demo
• One of the main demos: something using the whole range of Java features.
• Built the front panel for a car, complete with pedals, displays, steering wheel and display, all powered by Java.
JavaOne: JavaEE 8 and further• Leveraging features new to Java 8: Nashorn, Lambdas / Method handles,
Built-in interfaces, Streams, Concurrency, JavaFX, Tooling/Deployment• SON-Binding and JCache specifications will be part of the Java EE 8
standard• MVC 1.0 will allow to add service endpoints to properly support abilities
to AngularJS and Backbone JS functionality• upgrading the Servlet 4 to HTTP 2.0 standard• interceptors and events in CDI 2.0• harmonising dependency injection approach in the sub specifications like
JAX-RS and WebSocket• adding cloud specific configuration
JavaOne: JavaFX• Java is used by NASA, developers presented from
Vandenberg Airforce Base• They use numerous Java applications, most of
which extend NetBeans IDE itself as a platform• NASA requires tedious reuirements for safety and
reliability• They still try to use cutting edge technology
whenever possible
JavaOne: NASA close to us!
• NASA JavaFX application for satellite trajectory analyzation:
JavaFX, JavaFX 3D
• E(fx)clipse: Eclipse IDE derivate utilizing JavaFX
• Thomas Schindl’s presentation
– RIA RCP development with E(fx)clipse
– JavaFX, JavaFX 3D, ease of use
– Beautiful architecture, OSGI services
Java on mobile platforms• RoboVM: Henric Mueller and Niklas Therning• Duke’s choice award winners also• iOS – yes, supported• current toolkit is based on Eclipse toolchain and Maven• Will get major support from Oracle!• At this moment does not support JavaFX media or JavaFX
3D• workaround to access OpenGL and media video and audio
features using the CocoaTouch bridge
Java on small and embedded
• Besides Java SE 8 and ME 8, there’s Java SE 8 embedded and ME 8 embedded tailored to embedded platforms!
• Example hands-on lab used Raspberry Pi and thermal sensor
JavaOne: the language
• Value Types: upcoming feature– http://cr.openjdk.java.net/~jrose/values/values-
0.html
– Increasing efficiency!
– Example: speed of traversing an array• As Herb Sutter pointed out earlier in C++ conference: it
hugely matters how the data is laid out! Slow down with magnitudes!
Value Types
Herb
Sutter’s
Slide
(C++):
Java/JDK 8 main features
1. Lambda expressions and method references
2. Default methods
3. Streams
4. JavaScript on JVM: Nashorn
5. New date/time APIs
https://leanpub.com/whatsnewinjava8/read
Java 8: Lambda expressions• Lambda expressions: enable you to treat
functionality as a method argument, or code as data. Lambda expressions let you express instances of single-method interfaces (referred to as functional interfaces) more compactly.
• Method references provide easy-to-read lambda expressions for methods that already have a name.
Java 9
• Focused on Project Jigsaw: Modularizing the JDK
• http://openjdk.java.net/projects/jigsaw/doc/jdk-modularization.html
• scale down, improve security, evolve more easily, improve startup performance, and scale up to large systems
Project Jigsaw
Java 9 parallelism• Java 8 brings stream APIs• Project Sumatra: utilize GPUs for computation if
available: GPGPU (General Purpose GPU)• Industry-wide movement: HSA, HSAIL• Links:
– http://www.oracle.com/technetwork/java/jvmls2013caspole-2013527.pdf
– http://openjdk.java.net/projects/sumatra/
JCP elections• Java will be 20 years old in 2015• JCP celebrates 15th anniversary!!!• https://jcp.org/aboutJava/communityprocess/elections
/2014-nominees.html• Martijn Verburg on behalf of LJC (London Java
Community) JCP committee: http://londonjavacommunity.wordpress.com/2014/11/04/public-endorsements-for-the-2014-jcp-elections-java-standards-body/
JCP Election Nominees,Ratified Seat Vote
Freescale, Gemalto M2M GmbH, Goldman Sachs, MicroDoc, SAP, Software AG, TOTVS, V2COM
1. Strength in the emerging IoT market (Gemalto, Freescale and MicroDoc)
2. The increasing importance of the BRIC economies on the ecosystem (TOTOVS and V2COM)
3. The massive impacts on SE and EE platforms today (SAP, Software AG and Goldman Sachs).
JCP Election Nominees,Open Seat Vote
• Azul Systems• ARM Systems• Hazelcast• Waratek• Morocco JUG• Geir Magnusson Jr• Lots of worthy other candidates: Jelastic, TimeSys,
Werner Keil, Karan Singh Malhi, Vladimir Safonov
JCP elections
• Plans for Central California JUG:
– CCJUG will join JCP
– We can vote next year
– We’ll have a voting and discussion in our JUG, and we’ll cast our vote according to a majority decision
Podcasts:
• Java Pub House: http://www.javapubhouse.com/– Tematic tutorials, really good!
– Freddy Guime (Lambda Expressions band)
• Java Posse: http://javaposse.com/– Four experts
– News or recording of a conference
Thanks to
• Peter Pilgrim for some of the photos and his recap
• Martijn Verburg for the JCP election help
• All linked material’s authors
Thank you!
• Questions?