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.
Platform Independence
Java is a platform independent language. It follows, write once, run anywhere. How does Java achieve this?
Well, with the help of JVM. Basically, JVM takes .class file and turns it into machine specific code.Therefore, whenever we install jdk or jre, we choose OS that we are running on.
Java is a platform independent language. It follows, write once, run anywhere. How does Java achieve this?
Well, with the help of JVM. Basically, JVM takes .class file and turns it into machine specific code.Therefore, whenever we install jdk or jre, we choose OS that we are running on.
CLASSLOADERS
What is classloaders?
Whenever we built a project, we often use calsses. It might be our own classes or classes that java provides. When we run our program, classloaders try to find the classes that we are using. If there is no classes that we are looking for, java throw ClassNotFoundException.
In Java we have three types of classloaders:
โข system - search from classpath
โข extention - search from ext files
โข bootstrap - search from
What is classloaders?
Whenever we built a project, we often use calsses. It might be our own classes or classes that java provides. When we run our program, classloaders try to find the classes that we are using. If there is no classes that we are looking for, java throw ClassNotFoundException.
In Java we have three types of classloaders:
โข system - search from classpath
โข extention - search from ext files
โข bootstrap - search from
String vs StringBuffer vs StringBuilder
String is a sequence of characters. In Java Strings are object and immutable. It means, once you create a string, you cannot change its' value. If you want to modify a string, instead of modifying it will create a new string. String objects are stored inside string constant pool.
StringBuffer is a mutable thread safe class that is used to modify strings.
StringBuilder is a mutable, not thread safe class that provide implementation for modifying string.
String is a sequence of characters. In Java Strings are object and immutable. It means, once you create a string, you cannot change its' value. If you want to modify a string, instead of modifying it will create a new string. String objects are stored inside string constant pool.
StringBuffer is a mutable thread safe class that is used to modify strings.
StringBuilder is a mutable, not thread safe class that provide implementation for modifying string.
What is the data type of x * y?
short x = 10; short y = 3; var z = x * y;
short x = 10; short y = 3; var z = x * y;
Anonymous Quiz
33%
short
50%
int
0%
long
17%
code doesn't compile