Java nedir?

 Compilation — source kodun mashinin basha dusheceyi dile cevrilmesidir. It is the process the computer takes to convert a high-level programming language into a machine language that the computer can understand.

Source code — — ->compiling — —->Binary code (0 ; 1)

Compiler — programi tam cevirir sonra icra edir. Compiler xetalari cevirenden sonra deyir.

Interpreter — programi setir setir oxuyur ve icra edir. Interpreter xetalari ilk sehv tapildiqda deyirl.

Compiled languages : C, C++, Go, Fortran, Pascal.

Language → (Compiling) → Machine code → Ready to Run!

Interpreted languages: Python, PHP, Ruby, JavaScript.

Language → Ready to Run! → (Interpreting) → Virtual Machine → Machine code.

  • Java hem compiler hem de interpreter dildir.

MyProgram.java → (Compiler) → MyProgram.class → (JVM) → MyProgram(01000110101010)

Java Compile-time platfomadan asili deyil, Bytecode platformadan asili deyil lakin JVM-den asilidir, Run-time da ise platformadan asilidir.

JDK((JRE(JVM))).

JDK — Java Development Kit, icinde JRE — Java Runtime Environment var, JRE nin icinde JVM — Java Virtual Machine var.

JVM in icinde Class Loader, Bytecode verifier ve Interpreter var.

JRE — .class faylaarini yeni byte kodlari binary kodlara cevirmek ucundur.

Java source kodu byte koda cevirmek ucun compile etmek lazimdir cmd-de javac faylin adi ve extension-u. Mes: javac Selam.java. Bundan sonra Selam.class fayli yaranir, burda binary kodlar olur. Novbeti addim ise kodu run etmekdir. Bunun ucun machine code generate etmek larimdir.

java Selam yazim run ede bilerik veya java -classpath . Main


Eger byte kodlara baxmaq isteyirikse javap -c Selam.class yazmaq bes edir.

  • Bir java source kodda yalniz ve yalniz bir eded publik class olur, lakin istenilen qeder public olmayan klass ola biler.

// MyNameIsParvin — pascal naming convention

//myNameIsParvin — camel naming convention

Her bir statement mutleq noqte vergulle (;) bitmelidir, lakin block noqte vergulle bitmir.

Комментарии

Популярные сообщения из этого блога

Lesson1: JDK, JVM, JRE

SE_21_Lesson_11: Inheritance, Polymorphism

SE_21_Lesson_9: Initialization Blocks, Wrapper types, String class