serializable接口有什么用 JAVA數(shù)據(jù)結(jié)構(gòu)有哪幾種?
JAVA數(shù)據(jù)結(jié)構(gòu)有哪幾種?JAVA數(shù)據(jù)結(jié)構(gòu)有200以內(nèi)幾種:1、List:List是進出有序的Collection,不使用此接口都能夠最精確的控制每個元素插入的位置。用戶能使用索引(元素在List中的
JAVA數(shù)據(jù)結(jié)構(gòu)有哪幾種?
JAVA數(shù)據(jù)結(jié)構(gòu)有200以內(nèi)幾種:
1、List:
List是進出有序的Collection,不使用此接口都能夠最精確的控制每個元素插入的位置。用戶能使用索引(元素在List中的位置,不同于數(shù)組下r26標(biāo))來訪問網(wǎng)絡(luò)List中的元素,這類似于Java的數(shù)組。
2、Vector:
設(shè)計和實現(xiàn)數(shù)組(Array)的List,反正那是封裝了數(shù)組所不必須具備的一些功能比較方便我們可以使用,因為它難易以免數(shù)組的限制,而性能也不可能超越數(shù)組。
別外很最重要的一點那是Vector是線程同步的(sychronized)的,這又是Vector和ArrayList的一個的最重要區(qū)別。
3、ArrayList:
同Vector差不多是一個基于組件數(shù)組上的鏈表,但是差別的是ArrayList不是歌詞同步的。因為在性能上要比Vector好不少,但當(dāng)運行到多線程環(huán)境中時,可不需要自己在管理線程的離線問題。
4、LinkedList:
LinkedList不只是前面兩種List,它也不是設(shè)計和實現(xiàn)數(shù)組的,所以我不受數(shù)組性能的限制。它每一個節(jié)點(Node)都包含兩方面的內(nèi)容:節(jié)點本身的數(shù)據(jù)(data),下一個節(jié)點的信息(nextNode)。
因此當(dāng)對LinkedList做添加,刪除掉動作的時候就不用像實現(xiàn)數(shù)組的ArrayList一般,必須進行大量的數(shù)據(jù)移動手機。只要你更改nextNode的查找信息就是可以基于了,這是LinkedList的優(yōu)勢。
5、HashSet:
雖然Set同List都利用了Collection接口,不過他們的實現(xiàn)方法卻大不一樣的。List基本上也是以Array為基礎(chǔ)。
可是Set則是在HashMap的基礎(chǔ)上來利用的,這那就是Set和List的根本區(qū)別。HashSet的存儲是把HashMap中的Key充當(dāng)Set的對應(yīng)存儲文件項。
6、HashMap:
基于條件哈希表的Map接口的實現(xiàn)。此實現(xiàn)方法提供所有可選的映射不能操作,并不允許可以使用null值和null鍵。(以外不網(wǎng)絡(luò)同步和容許可以使用null之外,HashMap類與Hashtable大概不同。)此類不只要折射的順序,特別是它不絕對的保證該順序恒久增加。
7、HashTable:
Hashtable是兩個散列表,它存儲的內(nèi)容是鍵值對(key-value)反照。Hashtable能繼承于Dictionary,利用了Map、Cloneable、接口。
Hashtable的函數(shù)是同步的,這意味著它是線程安全的。它的key、value都好像不行為nul
dto和entity的區(qū)別?
DTO與Entity的區(qū)別
一.在動態(tài)創(chuàng)建業(yè)務(wù)方法時,DTO對象數(shù)據(jù)是由Action能生成(很可能是用戶然后輸入的Form數(shù)據(jù),也可能會是其他情況)
就是為了說的知道簡潔,請允許我舉個例子:
用戶更新完自己的注冊信息,.例如找回密碼之類的操作。
用戶并提交頁面--gtActionForm提取Form數(shù)據(jù)--gt構(gòu)造并對UserDTO定義變量--r26動態(tài)鏈接庫業(yè)務(wù)方法changePassword(UserDTOdto)把DTO對象傳來業(yè)務(wù)方法--a8業(yè)務(wù)方法內(nèi)部把UserDTO能量轉(zhuǎn)化為Entity User--r26調(diào)用(User)--gtDAO全局函數(shù)hibernate并且不持久化能操作。
二.我再理解dto是做表示層(展示更多給用戶)的,而實體是數(shù)據(jù)對象(表)
它表示層dto的是由多個實體所構(gòu)成,或一個實體的一個部分,或多個實體的各個部分的結(jié)合體?要是你其實dto沒有必要,你以為你做數(shù)據(jù)庫的時候,表與頁面的展示是一摸一樣的嗎?不太不是現(xiàn)實吧。
dto是面向?qū)ο笳Z言的,實體是走向關(guān)系數(shù)據(jù)庫的。
三.DTOdatatranferobject
數(shù)據(jù)傳輸對象,這個對象封裝方法你是需要傳輸?shù)臄?shù)據(jù)在M,V,C這三個層傳遞
四.dto反正應(yīng)該是很簡單JAVABEAN,基于Serializable借口,可以在網(wǎng)絡(luò)間傳輸
dto是目的是能解決entitybean很可能很龐大,影響網(wǎng)絡(luò)傳輸性能而有一種的一種想法
比如entitybean印射到一個表字段很多,但實際中不使用中可能如果能提出幾個值,.例如ID等什么的,那就就定義一個class(類),這個pagestate在服務(wù)器端,調(diào)用entity的local接口,或就用jdbc操作表,所以我不會對網(wǎng)絡(luò)傳輸產(chǎn)生很不利,然后網(wǎng)絡(luò)傳輸數(shù)據(jù)這個class給客戶端(可序列化),越小了網(wǎng)絡(luò)傳輸。