This book is an introduction to programming in Oracle’s Java™ programming language, a widely used programming language and software platform. This book serves as a comprehensive guide, complete with a series of tutorials to help users better understand the many ways one can program in Java. In its entirety, this book is meant to be both an introductory guide and a useful reference on Java and related technologies. As is the nature of this book, the content within the book is continuously being updated and revised. With every chapter within this book, the complexity of the context increases, building up on lessons learnt in the previous chapters. Beginners should therefore start from the beginning and proceed in a sequence throughout the material of the book.