Taxminan 3 soatda bugungi leetcode daily challengeni yechdim.Alhamdulillah.
Program vs Process vs Thread
Program - is an executable file that contains set of instructions.It is stored passively on disk.
Process - When the Program is loaded into the memory and is active, it becomes Process.It will require some resources, such as counter, stack and etc..
Thread - is the smallest unit of execution within a process.One process can have one or more Threads.
e.g. In your laptop, you have Microsoft Word (Program).When you click it, it will be opened (Process).When you are writing on doc (Thread).
Program - is an executable file that contains set of instructions.It is stored passively on disk.
Process - When the Program is loaded into the memory and is active, it becomes Process.It will require some resources, such as counter, stack and etc..
Thread - is the smallest unit of execution within a process.One process can have one or more Threads.
e.g. In your laptop, you have Microsoft Word (Program).When you click it, it will be opened (Process).When you are writing on doc (Thread).
JDK vs JRE vs JVM
Let's imagine a case where we can use above terms. Basically in programming we have two types of people:
โข user
โข developer
For user, to run a compiled java programs (jar files), they only need JRE (Java Runtime Environment). JRE contains necessary libraries and JVM (Java Virtual Machine) to run a compiled Java programs.
Simply, JRE is for running compiled Java programs.
For developer however, they need JDK (Java Development Kit), because it contains necessary tools to create java programs. For example, debugger and much more.
JVM is a machine that takes .class files and turns them into machine specific instructions that finally CPU process.
Let's imagine a case where we can use above terms. Basically in programming we have two types of people:
โข user
โข developer
For user, to run a compiled java programs (jar files), they only need JRE (Java Runtime Environment). JRE contains necessary libraries and JVM (Java Virtual Machine) to run a compiled Java programs.
Simply, JRE is for running compiled Java programs.
For developer however, they need JDK (Java Development Kit), because it contains necessary tools to create java programs. For example, debugger and much more.
JVM is a machine that takes .class files and turns them into machine specific instructions that finally CPU process.