Tutaq ki, ashagidaki formada bir class yaratmishiq : public class User { public String name ; public String username ; public int age ; public static String test ; public void foo (){} public static void foo2 (){} } application u run etdikde, javac .java fayllarini compile edib .class bytecodelarini yaratdiqdan sonra java, yeni JVM ishe dushur. Yalniz ehtiyaci oldugu classlari yaddasha yukleyir. Meselen, main methodunda, User classinin static metodunu cagiraq, bu zaman class load olunacaq ve ya class a ehtiyac duyulan diger hallarda. Eger kod hemin class a ehtiyac duymasa, bu class yaddasha yuklenmir. JVM yaddash da yer ayiran vaxti static acar sozu olanlari da class terkibinde saxladir. Yeni yaddash da onlar uchun de ayrica yer ayirir. Static - yeni stabil kimi de basha dushule biler. Bu classi i istifade etmek isteyende, yeni User. yazib classin icinde olan deyishen ve metodlara chatmaq isteyende yalniz static olanlar gorsen...
Ilk once proqrami run etmezden qabaq, qarshimizda olan ClassName.java faylini nezerden kecirek. Bu fayl sadece bildiyimiz .txt faylindan ibaretdir. Burada her hansi bir IDE vasitesile proqrami run etdikde, hemin IDE, JDK nin terkibindeki bin package in icindeki javac ni cagirir. javac bizim yazdigimiz ClassName.java faylini bytecodelara cevirir, ve eyni adli .class fayli yaradir. Bu fayl JRE uchun lazimlidir. JRE oz novbesinde elde etdiyi .class formatli fayllardan istifade ederek, OS a davamli olaraq emrler gonderir ve proqrami icra edir. QEYD: JDK , terkibinde compiler ve run etmek uchun istifade olunan komponentleri ozunde saxlayir. Java Development Kit . Proqramcinin ehtiyac duydugu komponentdir. JRE , java da yazilmish proqrami istenilen OS da run etmek uchun, qisaca proqrami run etmek uchun istifade olunur. Java Runtime Environment. yazdigimiz java app i run etmek uchun teleb olunan minimum komponent jre dir. user teref uchun esasen ehtiyac duyulur https://medium.com/@b...
List terkibinde add , size , remove, set ve diger metodlari olan interfacedir. ArrayList, LinkedList, Vector - List interface den implements edib. ArrayList ozu arxada Array istifade edir. 1.add zamani eger capasity dolubsa, yeni array yaradir ve evvelki arrayi buna set edir. Performans cehetden problem olsa da, initialCapasity vermekle bu problemi onlemek olur. 2. remove zamani proses eyni gedir, yeni array yaradilir. Lakin burada problemin qarshisini almaq mumkun deyil. Her remove zamani yeni array yaradilir. 3. get prosesi burada optimal gedir. LinkedList arxada Array istifade etmir. Burada Obyektler bir birinin ichine set olunur. (Node) 1. Ilk add olunan zamani obyekt sonuncu index kimi yadda saxlanilir. Daha sonra her add zamani yadda saxlanan sonuncu obyekte yeni gelen obyekt set olunur. 2. Remove zamani ArrayList den ferqli olaraq burada optimal gedir. Remove olunacaq obyekt yerine ozunden sonraki obyekt set olunur. 3. get prosesi burada optimal veziyyet...
Comments
Post a Comment