The Java development team looks at the evolution of hardware and software to innovate and maintain its relationships with the developer community.
I met with Georges Saab, Senior Vice President, Java Platform Group, Oracle Chair, OpenJDK Governing Board following his keynote at JavaOne. This was the first JavaOne conference since 2017 and was held in conjunction with Oracle Cloud World.
Java has been around for 27 years. It continues to be an important language for enterprises and developers. It's the preferred language for technology trends in development and organizational use. There are 60 billion active JVMs and 38 billion cloud-based JVMs.
The Java innovation pipeline continues to be robust, thanks to Java 19's release in September. Georges and his team track hardware, software, and Java community discussions to identify methods to help developers and businesses take advantage of change.
The five key themes focused on at JavaOne are:
Performance - improve with each six-month release.
Stability - insure past investments have future value.
Security - secure language and platform to build applications.
Compatibility - keep the choice and flexibility of runtime for Java applications.
Maintainability - platform encourages writing maintainable code.
The Power of Clean Code
According to Olivier Gaudin, CEO of SonarSource, Java is more than a language, it's a platform. This enables engineers and developers to focus on higher-level problems. It leads to the creation of processes and tooling to develop and deliver better software. To develop great software you have to have great code. Source code is the only thing that matters. It predicts how your software will behave and perform.
According to Olivier, there are four key benefits of clean code:
Cut maintenance and cost by eliminating bad code and technical debt—developers spend 42% of their time on remediation.
Reduce developer attrition. Developers believe debugging takes up too much time, resulting in too little time to innovate.
Increases software longevity as a long-term asset -- software rewrites cost an average of 3X more than initial estimates.
Reduces operational, reputational, and security risks -- 90% of security incidents are caused by poor coding practices.
Clean code enables developers to work on more value-added projects and innovation to bring value to the business.
The Java team works to balance two competing agendas in the development landscape which is constantly evolving with new programming paradigms, modern application solutions, a variety of deployment models, and changing hardware architectures.
Conservatism focuses on compatibility and not alienating users. While innovation is key to adapting to change and fixing mistakes.
The six-month cadence of releases has been ongoing since March 2018 with releases every September and March going forward. This has earned developers' trust that Java is delivering innovation in smaller and more frequent increments with predictability.
These are the projects Georges highlighted:
Amber -- improves developer productivity by making Java more readable and writable while removing boilerplate and ceremony.
Leyden -- reduces start-up and warm-up time to help applications reach peak performance more quickly. This is especially beneficial in the world of microservices.
Loom -- allows Java applications to scale exponentially with tens of thousands of threads.
Panama -- simplifies connecting Java applications and C-based libraries. This is useful with machine learning.
Valhalla -- better memory density and performance through value types and mapping data to memory.
ZGC -- scalable, low latency garbage collector on large heaps which is critical with the expansion of data.
Java Management Service
Java Management Service (JMS) enables users to better manage their Java deployments to:
Discover all Java runtime installations whether they're on desktop, on-premises, or in the cloud.
Identify which runtimes need updates or upgrades.
Track which application uses each runtime.
Manage, install, and remove Java runtimes.
JMS receives updates in a very rapid cadence. In the near future users will be able to know what cryptographic algorithms are used and what third-party libraries their applications rely on. The Java flight recorder will provide information on application performance.
Today, the JMS discovery services are available to everyone, without a subscription so users can understand Java usage before becoming a subscriber or running on Oracle Cloud Infrastructure (OCI).
Between Java 8 and Java 17, partner benchmarking has shown improvements of 64%.
To help customers address the challenge upgrades, George introduced the Java SE subscription enterprise performance pack that provides JDK 17 performance for JDK 8 workloads via a drop-in replacement for JDK 8.
Naren Nayak, Senior Director of Customer and Developer Engineering at Ampere shared the performance improvements they realized with the performance pack:
15% higher performance on Apache Spark
20% lower latencies on Apache Cassandra
29% higher throughput on enterprise-class Java benchmarks
46% better price performance with enterprise price pack on OCI Ampere A1 Compute
Fewer resources are needed to achieve goals.
The list of companies and individuals contributing to the OpenJDK continues to grow. It contains hardware vendors, advanced users of Java, and even a few companies that want to make their own distributions.
Oracle, as the stewards of Java, continue to contribute more than all other contributors combined. Other instrumental contributors include Red Hat, Tencent, Amazon, ARM, Intel, and Alibaba.
Another area where Oracle has been contributing to open source GraalVM, which is used by microservice frameworks for the fast start-up of Java applications. Eric Sedlar, VP and Technical Director of Oracle Labs announced that Oracle would contribute all Java-related code from the GraalVM community edition to the OpenJDK community.
They intend to continue the design and development work on the Graal Compiler and the GraalVM Native Image in the OpenJDK community using the same methodology and processes as used for Java. All future releases of GraalVM will be aligned with releases of Java.
The Java Community
Sharat Chander, Senior Director of Java and Container Native Project Management and Developer Engagement recognized those attendees at the first JavaOne Conference since 2017 with multiple years of Java development experience. Several of the attendees have been using Java for 25+ years.
People realized that in order to build out the largest collection of developers had to connect personally, with engagement and interaction. Each Java developer plays a role in Java's past and future success.
This summer the one millionth Java certification was completed. That's a demonstration of the importance and value of Java programmers.
Programs rooted in the history of Java promote connection and collaboration. Sharat also recognized Java User Group leaders that keep Java active in local communities and Java Champions who help promote Java.
Sharat wrapped up the keynote by recognizing Bruno Souza, Principle Consultant, Summa Technologies with a lifetime achievement award for his contributions to the Java community while educating others about the value of code development