O'Reilly logo
live online training icon Live Online training

Java Essentials

Start building your own Java applications

Topic: Software Development
Ben Evans

This session provides an introduction to Java programming for developers who are new to the language and ecosystem. Java is one of the world’s most popular programming languages and remains in very high demand among professionals.

What you'll learn-and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • Java’s approach to object-oriented programming
  • The fundamentals of Java’s type system
  • The basics of the Java virtual machine and runtime environment

And you’ll be able to:

  • Work with some of the core classes of the Java Development Kit (JDK)
  • Write your own simple classes
  • Start building your own Java applications

This training course is for you because...

  • You’re a developer at an early stage of your career
  • You work with front-end and want a better understanding of back-end tech
  • You want to become a professional back-end or full stack dev


  • No previous Java programming experience is necessary. Prior experience with any other languages (such as JavaScript or Python) will be very beneficial.

Recommended preparation:

Recommended follow-up:

About your instructor

  • Ben Evans is principal engineer and architect for JVM technologies at New Relic. Previously, Ben was a cofounder of the Java performance startup jClarity (acquired by Microsoft), chief architect for listed derivatives at Deutsche Bank, and senior developer at Morgan Stanley, where he was responsible for performance testing the systems used for Google’s IPO. He’s the author of Optimizing Java, the recently updated Java in a Nutshell, seventh edition, The Well-Grounded Java Developer, and Java: The Legend. He’s the Java and JVM track lead at InfoQ, a frequent contributor to Oracle's Java Magazine, and a regular speaker at conferences worldwide. Ben has been contributing to open source software for over 20 years. He was a cofounder of the Adopt-a-JSR and AdoptOpenJDK initiatives and served on the Java Community Process Executive Committee for six years.


The timeframes are only estimates and may vary according to how the class is progressing

Java Basics (55 minutes)

  • Code Demo: Values, Variables and Simple Methods in JShell (15 mins)
  • Exercise: Writing Simple Functions in JShell (5 mins)
  • Code Demo: Basic String Handling and Maths Functions (15 mins)
  • Exercise: Working with Strings in JShell (5 mins)
  • Code-Along: Flow Control – If, For and While (10 mins)
  • Q&A (5 min)
  • Break (5 minutes)

Introduction to OO in Java (55 minutes)

  • Code Demo: Classes, Objects and References (including null, NPE) in Java (20 mins)
  • Exercise: Writing Simple Classes in JShell (5 mins)
  • Code Demo: Wrapper Types and Arrays (15 mins)
  • Exercise: Classes and Arrays (10 mins)
  • Q&A (5 min)
  • Break (5 minutes)

The JVM and Tooling (55 minutes)

  • Presentation: Introducing IntelliJ IDEA (15 minutes)
  • Exercise: A First IntelliJ Project (10 mins)
  • Presentation: Introducing the JVM and Java Code Lifecycle (15 minutes)
  • Exercise: Exploring with Command-Line Tools (10 mins)
  • Q&A (5 min)
  • Break (5 minutes)

Java Types and Collections (60 minutes)

  • Code Demo: Inheritance, Interfaces and Access Control (20 mins)
  • Exercise: Working with Inheritance Hierarchies (10 mins)
  • Code Demo: Introducing Java Collections (20 mins)
  • Exercise: Working with Collections (10 mins)
  • Q&A & Wrap-Up (10 min)