Computers, programs, and algorithms are three closely related topics that deserve special attention before you start learning about Java proper. Why? Simply put, computers execute programs, and programs implement algorithms. As a programmer, you will live your life in the world of computers, programs, and algorithms.
As you progress through your studies, you will find it extremely helpful to understand what makes a computer a computer, what particular feature makes a computer a truly remarkable device, and how one functions from a programmer’s point of view. You will also find it helpful to know how humans view programs, and how human-readable program instructions are translated into a computer-executable form.
Next, it will be imperative for you to thoroughly understand the concept of an algorithm and to understand how good and bad algorithms ultimately affect program performance.
Finally, I will show you how Java programs are transformed into byte code and executed by a Java virtual machine. Armed with a fundamental understanding of computers, programs, and algorithms, you will be better prepared to understand the concepts of the Java virtual machine as well as its execution performance and security ramifications.