The Field Guide to the Java Ecosystem

Everything you wanted to know about Java, but were frankly too afraid to ask.

This is a 10,000-foot view of the Java ecosystem in 2022. So, if you want to understand how modern Java application development works, dig into this!

In this guide

In this full guide, you’ll learn:

  • How the Java ecosystem works

We started putting this guide together because we know you have questions!

Whether you’re a DevOps engineer needing to support Java apps, or you’re a junior engineer wanting to go beyond the simple “hello world”, Java can seem intimidating, if you don’t have a guide to show you the way.

Our Java guide explains the activities, the software and the tools you need to know, and includes tons of links to other websites and blogs, so you can dive deeper into any topic you like. 🏊‍♀️

That’s enough intro for now. So grab a cup of Java and let’s begin with the basics:

Fundamentals

In this section we’ll cover the basics of Java.

What is Java? And why is it still important?

What is Java?

Java is an object-oriented programming language, and runtime environment.

Write once, run anywhere.

Java code is super portable.

It runs inside a runtime called the Java Virtual Machine (JVM).

You can get the JVM on lots of different devices, from laptops to mobile phones.

This means that it’s easy to write code on computers and laptops, and then run it on servers.

Java’s mascot

Java is represented by a cartoon mascot called Duke, who kinda looks like a cross between a penguin and a doorbell.

Is Java the same as JavaScript?

No, Java is not the same as JavaScript.

JavaScript is a scripting language that runs inside your web browser and on servers.

But Java is a compiled language, similar to C++, which runs on servers and many other devices.

Java and JavaScript have different syntaxes, runtime environments, communities and libraries.

What can you build with Java?

Today you can use Java to build many different types of apps:

  • Standalone, command-line apps: this is the type of app that you will probably develop when you first learn Java

  • Back-end applications: Long-lived server-side applications, like APIs, and so on. (You’re probably here! And me too. These are the types of apps that I’ve worked on for years.)

  • Desktop apps and games: Two famous desktop Java applications are IntelliJ IDEA and Minecraft.

  • Embedded applications: This is software which runs on connected devices, like TV set-top boxes or internet-of-things devices like fridges.

  • Mobile apps: Android runs Java and Kotlin (a language that runs on the JVM)

How is Java used?

Java is used to develop applications of all different shapes and sizes.

You won’t see most of the software that’s written in Java, because the source code is held privately inside companies.

Business applications

Many of the back-office (or internal) apps used inside companies, are written in Java.

Here are just some of the types of business Java apps I’ve seen:

  • Finance applications (Java is a very popular choice in the financial sector, e.g. for trading systems)

  • Logistics and fulfillment applications

  • Retail and ecommerce applications

  • Applications which process and transfer data

And it’s not just used in business. Governments and public sector organisations use Java too. Even the military uses it.

Outside business

Outside of internal business apps, where else might you find Java in use?

Who is using Java?

So who do we know is using Java?

We can look at public engineering blogs, like:

And these are just a few who talk about it publicly. There are many more companies which use Java.

Another easy way to find out who’s using Java is to simply look at Java job descriptions.

Who owns Java?

This is a tricky question to answer! But we’ll try anyway:

Java has a long history, but there is definitely one company which has been involved with Java much more than others. (Hint: 🅾️)

Oracle is the steward of Java

Oracle is the main steward of Java.

Officially, Oracle owns the Java trademark1 and owns the copyright to much of the source code of the JDK (see an example).

In fact, Oracle fought a legal battle over Google’s copying of Java APIs in Android. But Oracle utimately lost the case in 2021.

Oracle traditionally makes money from Java by selling a subscription to Java, which comes with commercial support.

How does Oracle own the copyright if Java is open-source?

Although the OpenJDK code is open source, it still has copyright owners.

Every contributor must agree to grant Oracle a joint copyright interest in their code. (This is quite common with open source projects that are led by large companies.)

So ultimately most of the source code carries the text “(c) Oracle”.

‘Big tech’ contributes to the JDK

Oracle isn’t the only contributor to Java.

In fact:

Other big companies have an interest in Java too, and they make contributions to the OpenJDK source code.

Companies like these are big contributors:

  • Red Hat

  • IBM

  • SAP

  • Google

  • Amazon

Communities and user groups

Java evolves through many different committees and communities.

This is where people come together to develop new features or agree new standards for Java.

The Java Community Process (JCP) is the way that new official Java standards get developed and ratified.

But anyone can create a Java library and publish it.

Glossary

Unsure about a Java term? Let us decode it for you in this glossary section!

JDK
Java Development Kit. Or, more officially, “Java Platform Standard Edition Development Kit”. A JDK is a set of tools to compile and run Java code. There are several different JDKs available, see WhichJDK for a comparison of them all.
JAR
Java Archive. A JAR is a file that usually contains compiled Java files (class files) and extra metadata, and even other JAR files. It’s designed for distributing and sharing compiled Java programs and libraries. You can create a JAR file in IntelliJ.
Tom Donohue

By Tom Donohue, Editor | Twitter | LinkedIn

Tom is the founder of Tutorial Works. He’s an engineer and open source advocate. He uses the blog as a vehicle for sharing tutorials, writing about technology and talking about himself in the third person. His very first computer was an Acorn Electron.

Join the discussion

Got some thoughts on what you've just read? Want to know what other people think? Or is there anything technically wrong with the article? (We'd love to know so that we can correct it!) Join the conversation and leave a comment.

Comments are moderated.