What Will You Learn?

  • What is Java?
  • What are the use cases for Java?
  • How do I install Java?
  • What are the fundamentals of Java?
  • Where can I learn more about Java?

The Basics

Java has been around for a long time; on May 23, 1995, Java was born. It’s a mature language with a deep library that allows programmers to create anything. Java software runs on Google’s Android, macOS, Windows, Linux, game consoles, and scientific supercomputers. There are plentiful resources for learning Java, and now we have another.

Primary Use Cases

Here are a few real-world use cases I’ve encountered.

  • REST Services powered by the Spring Boot framework
  • Running best-of-class IDEs like all of the Jetbrains products
  • Creation of robust command-line utilities
  • Management of observability data within distributed systems with OpenTelemetry
  • Building apps on your Android phone, whether it’s a Samsung or a Pixel


The Java Virtual Machine (JVM) is a Java feature that sets it apart from other programming platforms. Java’s primary purpose is to Write once, run anywhere, learn one language, and apply it to any device.

In 1995, the idea of a single platform to rule them all was laughable, and even today, it’s a remarkable feat. Installing the JVM is easy, and it’s free.

Installing Java

I recommend installing the OpenJDK with less Oracle baggage!

If you’re using macOS, I recommend installing jenv to manage various versions of Java. Jenv allows you to add a list of installed JVMs and easily set one as active.

Java 8 is still the most common target version, but you can learn Java 15 to try something new. Installing the OpenJDK is easier if you use Homebrew to install Java.

brew install openjdk
java -version

You should see something like this:

openjdk version "19.0.1" 2022-10-18
OpenJDK Runtime Environment (build 19.0.1+10-21)
OpenJDK 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)

Java Fundamentals

I won’t rehash the concepts of Java in this article, but I will summarize a few fundamentals you will need to use Java effectively.

Object Oriented Programming

While Java has functional programming built into it, the foundation of Java is OOP. Learning the fundamentals of OOP will help you learn and use Java effectively.

Language Fundamentals

Keywords, variables, identifiers, data types, literals, operators, arrays, strings, control statements, and other language fundamentals will reinforce your ability to use Java. Memorizing and understanding these concepts is like learning the alphabet, colors, days of the week, and other fundamental parts of a spoken language. Ground yourself with these concepts as you learn Java.

The Command Line

While it’s possible to learn java without learning how to use the command line, I don’t recommend it. The command line is a great place to start learning basic Java concepts. Creating a Spring Boot Console Application that takes inputs and generates outputs will allow you to practice in a focused manner with fewer distractions.

Design Patterns

The Java programming language often uses design patterns to accelerate your problem-solving efforts. Choosing the correct design pattern will set you up for success.


Rome wasn’t built in a day. Learning Java is a continuous journey of twists and turns down its multi-threading features and concurrency frameworks. From having fun deciding the best web container framework to picking the best Java frameworks to use. You’ll be busy keeping up with the Java Joneses for decades to stay relevant like any healthy software development ecosystem.

Have some ☕️, and enjoy the journey!

Learn Java - Beyond the Basics

Other Learning