Java基礎(chǔ)概念,Java初學(xué)者要先扎實(shí)自己的基礎(chǔ)知識(shí),那什么才是java的基礎(chǔ)知識(shí)?又怎么樣才算掌握了java的基礎(chǔ)知識(shí)呢?這個(gè)問題還真值得仔細(xì)思考。
學(xué)習(xí)源代碼的時(shí)候,特別有意思,你會(huì)強(qiáng)烈感覺到一個(gè)詞:舉一反三!觸類旁通!學(xué)習(xí)api使用的時(shí)候,如果你只知道使用不知道原理,很難舉一反三,感覺的是死記硬背。
但學(xué)習(xí)了原理之后,知識(shí)成體系后,很容易舉一反三,學(xué)的越多就容易,還是以hashmap為例,我舉一個(gè)hashmap反三個(gè)點(diǎn)。
1.你會(huì)知道但凡有數(shù)組的數(shù)據(jù)結(jié)構(gòu),構(gòu)造函數(shù)都有一個(gè)容量的初始化參數(shù)(或者說構(gòu)造函數(shù)有初始化容量的可能都是數(shù)組的數(shù)據(jù)結(jié)構(gòu))。構(gòu)造函數(shù)如下
public ArrayList(int initialCapacity)//linkedList不是數(shù)組就沒有
public HashMap(int initialCapacity)
public StringBuffer(int capacity)
你就會(huì)知道,數(shù)組擴(kuò)容很耗性能(數(shù)據(jù)量大容易o(hù)om),盡量指定容量。
2.算法是空間換時(shí)間,還有沒有其他算法是這種思想的?你最少能找到一個(gè)桶排序。
3.數(shù)據(jù)庫的分庫分表,思路和hashmap大同小異
4.各種分布式的hash一致性算法,第一步都是創(chuàng)建一個(gè)最大的數(shù)組(Integer.MAX_VALUE),就是避免了hashmap最耗性能的擴(kuò)容運(yùn)算。
Java是分兩部分的:一個(gè)是編譯,一個(gè)是運(yùn)行。
Javac負(fù)責(zé)的是編譯的部分,當(dāng)執(zhí)行Javac時(shí),會(huì)啟動(dòng)Java的編譯器程序。對(duì)指定擴(kuò)展名的.Java文件進(jìn)行編譯。生成了jvm可以識(shí)別的字節(jié)碼文件。也就是class文件,也就是Java的運(yùn)行程序。
Java:負(fù)責(zé)運(yùn)行的部分.會(huì)啟動(dòng)jvm.加載運(yùn)行時(shí)所需的類庫,并對(duì)class文件進(jìn)行執(zhí)行.一個(gè)文件要被執(zhí)行,必須要有一個(gè)執(zhí)行的起始點(diǎn),這個(gè)起始點(diǎn)就是main函數(shù)。
關(guān)注代碼背后的實(shí)現(xiàn),關(guān)注內(nèi)功修煉,了解實(shí)現(xiàn)原理和思想,形成自己完整的技術(shù)體系,知識(shí)成片之后就容易觸類旁通,進(jìn)步的速度就會(huì)越來越快。
以上就是長(zhǎng)沙中公優(yōu)就業(yè)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)概念,如何掌握J(rèn)ava基礎(chǔ)知識(shí)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。