project1两周收获总结
集合用于彌補(bǔ)數(shù)組的缺點(diǎn)(定長),用于存儲多個(gè)數(shù)據(jù),并可以以變長的方式進(jìn)行讀寫訪問
Java中的集合有2大類:
Collection 接口 用于存儲層次結(jié)構(gòu)的數(shù)據(jù)類型
List 接口 列表 可以存儲重復(fù)的數(shù)據(jù)并按照寫入的順序連續(xù)存儲
ArrayList 動(dòng)態(tài)數(shù)組,底層通過Object[]來實(shí)現(xiàn)存儲的
LinkedList 鏈表集合,底層以鏈表結(jié)構(gòu)描述數(shù)據(jù)
Set 接口 不能存儲重復(fù)的數(shù)據(jù),寫入的數(shù)據(jù)是無序排列
Map 接口 用于存儲鍵值結(jié)構(gòu)的數(shù)據(jù)類型,鍵用于唯一標(biāo)識每一個(gè)值的
ArrayList在構(gòu)建實(shí)例時(shí),底層將默認(rèn)創(chuàng)建一個(gè)長度為10的Object數(shù)組: new Object[10]
當(dāng)集合中的元素超過最大長度時(shí),集合會(huì)重新創(chuàng)建一個(gè)新的數(shù)組,長度為當(dāng)前數(shù)組長度的1.5倍,通過算法將原數(shù)組的值復(fù)制到新的數(shù)組中
ArrayList的特點(diǎn):查詢有著優(yōu)異的性能,但是在執(zhí)行新增存在性能上的下降,執(zhí)行刪除性能較差
LinkedList的特點(diǎn):執(zhí)行增刪性能優(yōu)異,但是在執(zhí)行查詢的時(shí)候性能較差,越靠近鏈表首位的元素查詢響應(yīng)時(shí)間就越短
DAO Database Access Object 數(shù)據(jù)訪問對象
將數(shù)據(jù)對象常用的訪問方法(增刪改查)封裝在指定的對象中,該對象就稱為DAO對象
DAO對象是數(shù)據(jù)層構(gòu)建的基礎(chǔ),由業(yè)務(wù)層對象進(jìn)行調(diào)用
DAO中定義的數(shù)據(jù)訪問方法和業(yè)務(wù)無關(guān)
DAO設(shè)計(jì)模式主要分為三層:
顯示層:主要使用JSP/Servlet進(jìn)行頁面效果的顯示
業(yè)務(wù)層:(Business Object,數(shù)據(jù)對象)會(huì)將多個(gè)原子性的DAO操作進(jìn)行組合,組合成一個(gè)完整的業(yè)務(wù)邏輯。
數(shù)據(jù)層:(DAO,Data Access Object,數(shù)據(jù)庫訪問對象)提供多個(gè)原子性的DAO操作,例如:增、刪、改、查,都是原子性操作
假設(shè)有DAO_A 和 DAO_B,在兩個(gè)DAO對象中分別new了Database實(shí)例對象
如果DAO_A更改了用戶數(shù)據(jù),那么在DAO_B可以訪問到修改后的用戶數(shù)據(jù)嗎?
總結(jié)
以上是生活随笔為你收集整理的project1两周收获总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。