Over the past decade, Java has been one of the most well-known and used programming languages in the software industry, mainly because of its various qualities that empower the developer to focus on the application's business value and free him from the complexity related to the Runtime environment.

Java is considered as a high-level cross-platform and object-oriented programming language.

High-level programming languages are often made to ease the programming process by abstracting all the low-level interactions between the operating system and the application ( e.g. memory management, network communication), it may use natural language elements (e.g. if, else), and consequently, make the process of developing a program simpler and more understandable than when using a low-level language.

A cross-platform programming language is a language that when compiled ,runs everywhere,whatever the circumstances.The slogan is write it once, run everywhereyou don't have to care about the interactions with the operating systems, and low-level stuff, programming languages like java handles that for you.

Being object-oriented means that developing with Java involves the definition of multiple blue prints known as ClassesThese are used by the running program to spawn elements called Objects that will interact with one another as cells in biology to respond to a particular need and hence we'll end up with a world of objects Interacting with each other.
This phenomenon of spawning objects is known as Instantiation and it is responsible for allocating fragments of the memory for the running application during its life cycle.

Well, In these chapters, we are going to explore different aspects of java, and as a reader, you need to have some background in computer science and little bit of mathematical logic.