Presentation: Java 11 - Keeping the Java Release Train on the Right Track
Share this on:
What You’ll Learn
- Learn about some of the new features coming in Java 11.
- Find out why it is worth being excited about Java 11, enough to upgrade to it.
- Hear about some of the interesting features existing in Java 10.
Abstract
Java is now on a fast six-month release cycle. Many enterprises had just finished moving to Java 8 with its new features when Java 9 came out last September 2017. And as of today, the current release of the JDK is 10. These releases will provide enhancements to the JVM and the Java language and offer opportunities for rapid innovation for all Java developers. Every three years, there is a long-term support (LTS) release.
But many major enterprises with LTS are waiting for Java 11 which is the next long term support release before migrating their apps. Some enterprises are moving from Java 8 directly to Java 11.
There are significant new and useful features in the Java 11 releases such as a new local variable syntax for lambda parameters, the HTTP Client standard and a brand-new, low-latency garbage collector (Epsilon - JEP 318). This session will review code examples of these new features in Java 11, and also features of Java 10. We will also discuss the impact of the new Java release train on production code.
Tell us a bit about the work that you are doing today.
I work for a large bank in New York City on the DevOps team, and we're automating the pipeline to enable continuous deployments to production. We've been doing automation for a lot of years. My team does a lot of coding and mentoring of others. It's amazing how much automation there is in order to get something to work for a lot of teams including reporting, security and load testing. We do a lot of Selenium. It's fun to write the code because it's not just another webapp screen, it's something that's unique and different most of the time. There are opportunities to play with things that are new and code. There are a lot of heavy threads and a lot of heavy connectivity testing, which is a lot of fun. Also, the automation programming is nice because each piece is fairly small, something to get out of the door really quickly and see it in production right away.
You're talking about Java 11. What made you decide to pick Java 11?
Java 11 is new, very new, I was looking for something that people need to have an awareness of, and Java 11 is a sweet spot for that because in New York City a lot of big companies, such as financial institutions, have been holding back on using Java 11 because Java 9 and 10 don't have long term support. Which means that Java 11 is the next one that a lot of people are going to upgrade. Java 9 got a lot of exposure, everyone knows what Jigsaw is, but Java 10 got almost no exposure in New York. I suspect Java 11 is going to have a similar problem. This is a way of letting people know what's this about, catching them up with Java 10, getting them ready for Java 11, and be ready and excited for it in late September when it actually comes out.
What's coming up with 11?
Java 11 has a number of new features. Some of them are of the cool variety, you can use Unicode to draw a pretzel, which has limited applications. There are other things like the garbage collector and the HTTP client interface becoming standardized. There are also other features in Java 10 that are pretty neat, and I want to make sure everyone knows about those and expose them to it more as well.
What features in 10 you want to talk about?
Some really cool things in Java 10 are the new garbage collector, the fact that we have var, it saves a lot of typing and surprisingly makes code easier to read, and in Java 11 it will have an impact on lambdas as well. I think versioning is one of the coolest parts.
What do you want someone who comes to your talk to leave with?
The most important thing I want them to leave with is knowing that Java 11 is different than just another Java upgrade. Why that is, how to explain it to their manager, and be excited about the coding changes.
Similar Talks
Tracks
-
Microservices: Patterns & Practices
Evolving, observing, persisting, and building modern microservices
-
Developer Experience: Level up Your Engineering Effectiveness
Improving the end to end developer experience - design, dev, test, deploy, operate/understand. Tools, techniques, and trends.
-
Modern Java Reloaded
Modern, Modular, fast, and effective Java. Pushing the boundaries of JDK 9 and beyond.
-
Modern User Interfaces: Screens and Beyond
Zero UI, voice, mobile: Interfaces pushing the boundary of what we consider to be the interface
-
Practical Machine Learning
Applied machine learning lessons for SWEs, including tech around TensorFlow, TPUs, Keras, Caffe, & more
-
Ethics in Computing
Inclusive technology, Ethics and politics of technology. Considering bias. Societal relationship with tech. Also the privacy problems we have today (e.g., GDPR, right to be forgotten)
-
Architectures You've Always Wondered About
Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, Goldman Sachs
-
Modern CS in the Real World
Thoughts pushing software forward, including consensus, CRDT's, formal methods, & probalistic programming
-
Container and Orchestration Platforms in Action
Runtime containers, libraries, and services that power microservices
-
Finding the Serverless Sweetspot
Stories about the pains and gains from migrating to Serverless.
-
Chaos, Complexity, and Resilience
Lessons building resilient systems and the war stories that drove their adoption
-
Real World Security
Practical lessons building, maintaining, and deploying secure systems
-
Blockchain Enabled
Exploring Smart contracts, oracles, sidechains, and what can/cannot be done with blockchain today.
-
21st Century Languages
Lessons learned from languages like Rust, Go-lang, Swift, Kotlin, and more.
-
Empowered Teams
Safely running inclusive teams that are autonomous and self-correcting