The Java programming language celebrates its 28th birthday on May 23, 2023 — a perfect age in human terms: still full of energy and ambition but already backed by experience. Java has been among the top three most popular programming languages for many years, according to the Tiobe index, and it continues gaining traction in every sphere of our lives, be it banking applications, social networks, games, or IoT and embedded systems.
This year, we decided to mark the occasion by paying tribute to the source of Java’s unquenchable vitality and sustained progress — the Java community worldwide.
Nested in the OpenJDK project
The secret of Java’s rapid development is that the language doesn’t belong to a single company. In 2006, Sun Microsystems announced that Java would be open-sourced, which set off the OpenJDK project. In 2010, Sun was acquired by Oracle. The company leads many working groups, committees, and projects, makes the biggest contribution to OpenJDK in terms of fixes and patches, and releases two builds with every release: Oracle Java and Oracle OpenJDK.
Speaking of releases, as per OpenJDK schedule, Java boasts six releases yearly, two major and four CPU (Critical Patch Update) ones with security patches and bug fixes. In addition, LTS (long-term support) versions traditionally used by enterprises see the light every two years.
As promised originally by Sun, the OpenJDK code is freely available to everyone, which means that any individual developer or organization can contribute to the project by
- Fixing bugs,
- Patching vulnerabilities,
- Implementing or deprecating features,
- Aiding in the development of projects outside of the main branch.
If you think that uncontrolled contributions wreak havoc within the project, let us assure you that they are strictly regulated by the internal processes of testing, reviewing, and approving any changes to the codebase. Nevertheless, the fact that any programmer can take part in Java enhancement accelerated the language transformation.
Another unique advantage of the OpenJDK project is the promotion of healthy competition. Oracle is not the only company providing Java runtime. Numerous vendors offer their builds based on the raw OpenJDK code. As long as the Java distribution is TCK-verified (Java SE compliant) and all changes go upstream, you can migrate from one vendor to another without issues.
Why is it important to have several JDKs to choose from? Because enterprises can pick an offer tailored to their business needs, for instance:
- Wide range of supported system configurations,
- Additional features such as OpenJFX or reimplementation of Java Web Start,
- Support for legacy Java 6&7,
- Additional utilities,
- Minuscule Docker containers,
- Competitive support prices,
- Prompt 24/7 help from Java engineers,
And so on. Moreover, due to the recent changes in Oracle’s pricing policy for Java, companies have an opportunity to choose a more affordable solution and keep their IT costs lean.
Backed by market leaders
Although Oracle remains the most significant contributor to OpenJDK, numerous large organizations works on making Java more secure, performant, and flexible. They include
- Companies engaged in Java development for more than 20 years such as BellSoft, SAP, or Azul Systems,
- Major cloud providers such as Amazon,
- Multinational corporations such as Microsoft, Google, or IBM,
- Leading microprocessor manufacturers such as Intel and ARM,
- Global ICT (information and communications technology) and smart devices providers such as Huawei,
- Huge e-commerce companies such as Alibaba,
And many others. The following chart published in the article dedicated to Java 20 release shows the contributions made by Oracle and other organizations to Java 11 through Java 20:
Contributions to JDK 11-20
The communal effort of independent Java developers and organizations helps Java adapt to the rapid changes in the IT landscape. In order not to make unsubstantiated statements, let’s address the most significant Java advancements in recent years:
- The conquest of the cloud with new features like container-aware memory settings, minuscule containers, and frameworks for cloud-native applications such as Spring Native within Spring, Quarkus, or Micronaut;
- Explorations of new fields such as IoT, Embedded systems, Edge computing, and many others thanks to Arm and RISC-V ports;
- Exciting prospects of multilingual programming with GraalVM — a next-generation JVM and JDK written in Java that enables smooth integration of non-JVM code into the project and enhances the app performance thanks to an optimized compiler. What is more, it enables the AOT (Ahead-of-time) compilation of JVM-based programs for an almost instant startup, thus eliminating the notorious JVM warmup;
- New horizons of multithreaded programming with virtual threads that enable lightweight scalable concurrency similar to Go coroutines;
- Perks for developers that make coding in Java a pleasant experience. For instance,
- Records provide compact syntax for declaring classes with immutable data,
- Record patterns enable declarative and composable form of data processing,
- Structured concurrency improves the maintenance and observability of multithreaded code,
- Project Lombok reduces boilerplate code and accelerates the development process.
Java is getting more powerful, flexible, and user-friendly with every release thanks to the cooperation of visioners and corporations embracing innovations!
Nourished by the thriving global community
Java is not simply a programming language but a platform for enthusiasts worldwide to share their knowledge and discuss ideas.
All Java developers become part of a friendly community where they can always get help or advice. The pillars of this community are Java User Groups (JUGs) — volunteer organizations aiming to spread Java expertise. They provide a meeting place for developers to share knowledge, resources, ideas, and solutions related to Java and thus help to form an incredibly inclusive community centered around a passion for Java tech. JUGs are typically tied to a particular location, for instance, Atlanta JUG, Chicago JUG, Melbourne Java & JVM JUG, London Java Community, and dozens of others. JUGs play a vital role in Java’s evolution as they
- Organize monthly meetups and annual conferences for developers to discuss the latest trends, best practices, ad hoc issues, and specialized topics;
- Participate actively in developing Java libraries and specifications, including Jakarta EE.
Every year, there are more than 30 conferences dedicated to Java held around the world, where newcomers and seasoned developers can stay up-to-date with Java trends, do networking, and connect with their peers. BellSoft is proud to continue the tradition of driving innovation forward through collaboration and discussion. Our engineers participate in conferences and JUG meetups on a regular basis, and we also organize JRush, a series of free web conferences for Java developers, where top experts present the newest tools and current trends in Java development. The next episode, scheduled for March 31st, is dedicated to modern Java technologies for Banking and FinTech. Register now to enrich your experience in this area!
With more than 60 projects in the making or already integrated into the OpenJDK code, we look forward to numerous exciting improvements and novelties within the Java ecosystem. And all of that is thanks to the engagement of individual developers and organizations. So let’s continue working together to pursue a sustainable future fortified by Java technologies!