O'Reilly logo
live online training icon Live Online training

Getting Started With Java

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. Prior to joining New Relic, Ben co-founded the Java performance startup jClarity (acquired by Microsoft) and was Chief Architect for Listed Derivatives at Deutsche Bank. He was a Senior Developer at Morgan Stanley, where he was responsible for performance testing the systems used for Google’s IPO.

    Ben is the author of Optimizing Java, the recently-updated Java in a Nutshell, 7th Edition, The Well-Grounded Java Developer, and Java: The Legend. He is the Java / 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 co-founded the Adopt-a-JSR and AdoptOpenJDK initiatives, and served on the Java Community Process Executive Committee for 6 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)