Conference: Nov 13-15, 2017
Workshops: Nov 16-17, 2017
Presentation: Java SE 9: Continuing to Thrive in the Cloud!
Duration
Level:
- Intermediate
Persona:
- Developer
- Developer, JVM
Key Takeaways
- Learn directly from the Java SE Platform development manager about the decisions made to evolving Java into a more modular and cloud focused platform.
- Understand how Java 9 better enables developer productivity, reduces server overhead, and improves application density and predictability.
- See how even smaller changes like Java 9’s REPL have the potential to dramatically change how we interact with our environments.
Abstract
Join Bernard Traversat, Vice President of Java SE Development at Oracle to get a unique insight on the upcoming new Java SE 9 features. Java SE 9 is packed with new languages and tooling features such as modularization, jlink, multi-release jar, and jshell that will fundamentally change the way to write, build, package, secure and interact with Java services in the Cloud.
This session will cover key features and enhancements introduced in the JVM to address new Cloud deployment requirements such as G1 GC, segmented code cache, contended locking and density String. The Java SE platform is continuing to thrive and advance at a rapid paste to address new Cloud requirements while maintaining the core principles of the Java language and platform.
Interview
Bernard: I am the manager of the development team for the Java SE Platform. My team is responsible for developing the Java platform and JDK within the OpenJDK project.
Bernard: My intent is to provide some insights on the decisions we are making to evolve the Java platform, a platform that just celebrated its 20-year anniversary, as well as the constant challenges to find the right trade-offs between backward compatibility and advancing the platform.
The second part will focus on Java 9 and discussing what we have been working on to modernizing the internals of the Java runtime and new features we are introducing in Java 9.
Java is running in the cloud, but we know that there are a number of areas where we need to improve the efficiency of the Java runtime. Density is something that our customers and cloud operators have a lot of interests to reduce the cost of running Java.
The Java runtime uses more memory than native runtime, so we need to look at improving memory usage across the entire Java platform. At the scale of the cloud, saving a few percentage of memory usage may mean a lot of cost savings to our customers. This is something also very important to cloud operators as a vast amount of today Cloud infrastructure is built in Java.
Predictability is another area that is becoming very important for supporting emerging microservice and light-weight containers. Predictability and reducing GC pause-time impacts, at the scale found in the cloud, is becoming a high priority for many of our developers. So, we need to re-evaluate some of the implementation decisions that have been made over the past 20 years and see how we can evolve the Java runtime to better support these new cloud service architectures.
That is part of the message I hoping to convey, and Java 9 is just one step forwards in this direction. As we continue to advance the platform, I expect developers to see more and more innovations from us in these areas.
Finally, we also need to continue to improve Java‘s developer productivity. We know that the Java language tends to be fairly verbose. We need to continue to evolve the Java language and libraries while maintaining the original “look and feel” of Java.
Bernard: I am planning to focus on some of the big themes, like density, and pick a few key features or innovations that we are delivering as part of Java 9. I will showcase how these specific features will help improve density, startup, or developer productivity.
In Java 9, we are introducing REPL. This is something that is fundamentally new for Java developers. It is something that may inspire developer’s imagination and what people will be able to do now in the cloud with Java. A small feature like the REPL may become a very significant feature for Java 9 developers.
Bernard: Within the cloud, many developers have to write a lot of deployment scripts. With the REPL feature, we provide the ability to modify Java code interactively, interact with services (or the cloud fabric) to control and change behaviors as you are doing today with a scripting language. But, now you can do this with the Java language. So you’ll have its strong type and access to the large library ecosystem to build your application and complement what scripting languages are offering.
Bernard: Jigsaw and the modularization of the Java runtime was a massive, multi-years undertaking for us. Most Java developers will not see the significant internal work we did to disassemble and reassemble this very large and complex runtime into a suite of independent modules. Doing so, required some significant engineering work to ensure that existing applications that have been developed in Java 5 or 6 will still be able to run on Java 9 with minimal modifications.
Developers will now have the ability to create specific runtimes to match what their services need to minimize the amount of resources used.
Bernard: That the Java platform is alive, Java 9 will deliver lot of innovations, and we have a solid roadmap beyond 9 to address upcoming developer requirements for the cloud. The pace of development and deployment in the cloud is accelerating everything. We need to continue to bring innovations around the Java platform while ensuring backward compatibility to our developers. We now have a modular and modernize runtime that will enable us to evolve this platform at a much more rapid pace than we have done in the past.
Similar Talks
.
Tracks
Monday Nov 7
-
Architectures You've Always Wondered About
You know the names. Now learn lessons from their architectures
-
Distributed Systems War Stories
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.” - Lamport.
-
Containers Everywhere
State of the art in Container deployment, management, scheduling
-
Art of Relevancy and Recommendations
Lessons on the adoption of practical, real-world machine learning practices. AI & Deep learning explored.
-
Next Generation Web Standards, Frameworks, and Techniques
JavaScript, HTML5, WASM, and more... innovations targetting the browser
-
Optimize You
Keeping life in balance is a challenge. Learn lifehacks, tips, & techniques for success.
Tuesday Nov 8
-
Next Generation Microservices
What will microservices look like in 3 years? What if we could start over?
-
Java: Are You Ready for This?
Real world lessons & prepping for JDK9. Reactive code in Java today, Performance/Optimization, Where Unsafe is heading, & JVM compile interface.
-
Big Data Meets the Cloud
Overviews and lessons learned from companies that have implemented their Big Data use-cases in the Cloud
-
Evolving DevOps
Lessons/stories on optimizing the deployment pipeline
-
Software Engineering Softskills
Great engineers do more than code. Learn their secrets and level up.
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
Wednesday Nov 9
-
Architecting for Failure
Your system will fail. Take control before it takes you with it.
-
Stream Processing
Stream Processing, Near-Real Time Processing
-
Bare Metal Performance
Native languages, kernel bypass, tooling - make the most of your hardware
-
Culture as a Differentiator
The why and how for building successful engineering cultures
-
//TODO: Security <-- fix this
Building security from the start. Stories, lessons, and innovations advancing the field of software security.
-
UX Reimagined
Bots, virtual reality, voice, and new thought processes around design. The track explores the current art of the possible in UX and lessons from early adoption.