Posts

Showing posts from December, 2019

Object , Class , Static keyword , Memory

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 gorsenecek. User.

Cookies 😃

Tutaq ki, her hansi bir array elan etmishik. int[] arr = {1,2,3}; Bu array-in ozunu capa verdikde ashagidaki kimi bir kod qarshimiza chixir (muxtelif ola biler): [I@60e53b93 Bu, bizim array-in ram da tutdugu yerdir. Burada "[I" hemin yaddashda arrayin oldugunu bildirir. Sag terefde olan reqemler ise , hemin arrayin yerleshme yeridir. Ortada olan @ isaresi sadece array-in gosterilen yaddashda yerleshdiyini bildirir.

Clean and Build , JDK

Image
Tutaq ki, bir  proyektimiz var ve bu proyekti diger bir proyektde kitabxana kimi istifade etmek isteyirik. Bu zaman, hemin proyekti clean and build edib, .jar formatli son veziyyetli bir archive faylini almaliyiq. Clean zamani proyektde hal hazirda olan build folder de olan .class formatli fayllari ve dist fodler de  (eger varsa) .jar fayli silinir. Build zamani ise, proyekt compile olur ve .class formatli fayllar uygun folderlerde yaranir. Burada bele bir avantaj var ki, clean etmeden build etdik de yalniz deyishiklik olan fayllar compile olunur ve en son .jar i yaradir.   JDK ozu de eslinde bele proyektlerden ibaretdir. yeni .jar formatli fayllardan ibaretdir