Java in depth

Java is a widely used, versatile, platform-independent language used for developing applications ranging from web to mobile.  Its strong community support, rich libraries, and scalability make it desirable for building robust software solutions.

This Java in depth course presents an in-depth, hands-on exploration of the Java object-oriented programming language and its runtime platform (the JVM). You will learn, with hands-on experience in developing applications, how objects are created, managed and destroyed; how Object-Oriented techniques such as Polymorphism are implemented; how Java collections are managed; how to work in a multi-threaded environment.

Course Duration: 6 4-hour sessions (3 Day Equivilent)

Delivery Mechanism: Virtual (Zoom)

Course outline

  • Introduction to the JVM
  • JVM Memory Settings and Optimisations
  • Memory – The Stack, Heap and Shared Memory
  • Object Construction, Inheritance and Polymorphism
  • Passing Objects Between Methods
  • Class Loading and Reflection
  • Garbage Collection and Object Lifetimes
  • Inheritance, Polymorphism and Virtual Binding
  • How Lists and Maps work
  • Thread Creating and Coordianton
  • Lock-Free Algorithms, Data-structures and Techniques
  • Virtual Threads

Who is this course for

  • Professionals wanting to understand the Java runtime environment, how classes are loaded, how objects are instantiated and managed, and how Object-Oriented principles are applied.
  • Application developers, particularly those with experience in other programming languages, who wish to develop quality and performant Java applications.

RECOMMENDED PREREQUISITES

This course assumes prior knowledge of the fundamentals of Java Programming (writing, compiling, and running code).  

For those without any object-oriented programming experience, we strongly recommend taking our Introduction to Java Programming course first.