The Java Platform has main three parts: i- Programming Language - Java ii- Runtime environment - where Java code is executed iii- Standard Library - contains many commonly used functionalities e.g. Collection The bundle of these parts is known as Java Development Kit or JDK.


A Java application cannot run without JDK because it contains all the tools that you need to create and run Java applications. #java #jdk #javadevelopmentkit #application #javaplatform #standardlibrary


The Java developers write Java source code, and the CPU doesn't understand the source code and thus is not executable. In order to make it executable, we need to compile our source code to ByteCode using the Java compiler. Let's look at ByteCode next...


Bytecode is a lower level, but still CPU and operating system‑agnostic representation of the source code that can be more easily executed by the Java Runtime Environment.


When developers write Java applications don't usually write all their functionality without using other code. They also use code from the Java Standard Edition APIs. #JavaSE #JAVASE17 #Java17 #JavaStandardEdition


Often, just using the Java standard library is not enough to productively write modern Java applications. That's why most Java applications also use third‑party libraries. These libraries are published as ByteCode as well and can be used from application code. #JavaSE #3rdParty


Bonus point: The wealth of available libraries is one of the great things about Java that makes writing Java applications very productive. #bonus #java #Productivity #great


Now we have our application's bytecode, which uses parts of the Java standard library(Java SE) and possibly third‑party libraries, but these are just bits and bytes on a disk, not a running application. To run Java applications, we also need a Java Virtual Machine, or a JVM. #jvm


The JVM is part of the runtime environment. The Java Virtual Machine knows how to execute ByteCode on a real machine. Now we still have real hardware and an operating system sitting beneath this tech (JVM). #jvm #bytecode #java #operatingsystem #hardware


The hardware only knows how to execute native machine instructions, and Java ByteCode is not that. Java ByteCode is a higher level, the intermediate format that can be translated by the JVM into actual machine instructions for the hardware that the JVM is running on. End. #jvm


Top