All programming languages are a means to communicate with machines. Machine hardware only responds to electronic communication. High-level programming languages like Java act as a bridge between human language and hardware language. To use Java, a developer needs to understand two things:
1. Java language and APIs
This is the front-end communication between the developer and the Java platform.
2. Java Virtual Machine
This is the back-end communication between the Java platform and the underlying hardware. Let’s look at each of these in detail below.