更新時(shí)間:2020-01-09 16:18:00 來源:動(dòng)力節(jié)點(diǎn) 瀏覽5403次
說一下Spring的核心模塊
Spring Core【核心容器】:核心容器提供了Spring的基本功能。核心容器的核心功能是用IOC容器來管理類的依賴關(guān)系。
Spring AOP【面向切面】:Spring的AOP模塊提供了面向切面編程的支持。SpringAOP采用的是純Java實(shí)現(xiàn),采用基于代理的AOP實(shí)現(xiàn)方案,AOP代理由IOC容器負(fù)責(zé)生成、管理,依賴關(guān)系也一并由IOC容器管理。
Spring ORM【對象實(shí)體映射】:提供了與多個(gè)第三方持久層框架的良好整合。
Spring DAO【持久層模塊】: Spring進(jìn)一步簡化DAO開發(fā)步驟,能以一致的方式使用數(shù)據(jù)庫訪問技術(shù),用統(tǒng)一的方式調(diào)用事務(wù)管理,避免具體的實(shí)現(xiàn)侵入業(yè)務(wù)邏輯層的代碼中。
Spring Context【應(yīng)用上下文】:它是一個(gè)配置文件,為Spring提供上下文信息,提供了框架式的對象訪問方法。
Spring Web【W(wǎng)eb模塊】:提供了基礎(chǔ)的針對Web開發(fā)的集成特性。
Spring MVC【MVC模塊】:提供了Web應(yīng)用的MVC實(shí)現(xiàn)。Spring的MVC框架并不是僅僅提供一種傳統(tǒng)的實(shí)現(xiàn),它提供了一種清晰的分離模型。
(轉(zhuǎn)發(fā))forward與(重定向)redirect的區(qū)別
forward是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個(gè)URL的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器。瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容從哪里來的,所以它的地址欄還是原來的地址。
redirect是服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請求那個(gè)地址,所以地址欄顯示的是新的URL。
forward轉(zhuǎn)發(fā)頁面和轉(zhuǎn)發(fā)到的頁面可以共享request里面的數(shù)據(jù)。
redirect不能共享數(shù)據(jù)。
redirect不僅可以重定向到當(dāng)前應(yīng)用程序的其他資源,還可以重定向到同一個(gè)站點(diǎn)上的其他應(yīng)用程序中的資源,甚至是使用絕對URL重定向到其他站點(diǎn)的資源。
forward只能在同一個(gè)Web應(yīng)用程序內(nèi)的資源之間轉(zhuǎn)發(fā)請求。
forward是服務(wù)器內(nèi)部的一種操作。
redirect是服務(wù)器通知客戶端,讓客戶端重新發(fā)起請求。
forward一般用于用戶登陸的時(shí)候根據(jù)角色轉(zhuǎn)發(fā)到相應(yīng)的模塊。
redirect一般用于用戶注銷登陸時(shí)返回主頁面和跳轉(zhuǎn)到其它的網(wǎng)站等。
forward效率高。
redirect效率低。
redis常用的五種數(shù)據(jù)類型
1.String(字符串)
String是簡單的 key-value 鍵值對,value 不僅可以是 String,也可以是數(shù)字。它是Redis最基本的數(shù)據(jù)類型,一個(gè)redis中字符串value最多可以是512M。
2.Hash(哈希)
Redis hash 是一個(gè)鍵值對集合,對應(yīng)Value內(nèi)部實(shí)際就是一個(gè)HashMap,Hash特別適合用于存儲對象。
3.List(列表)
Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個(gè)元素導(dǎo)列表的頭部(左邊)或者尾部(右邊)。
底層實(shí)現(xiàn)為一個(gè)雙向鏈表,即可以支持反向查找和遍歷,更方便操作,不過帶來了部分額外的內(nèi)存開銷,Redis內(nèi)部的很多實(shí)現(xiàn),包括發(fā)送緩沖隊(duì)列等也都是用的這個(gè)數(shù)據(jù)結(jié)構(gòu)。
4.Set(集合)
Redis的Set是String類型的無序集合,它的內(nèi)部實(shí)現(xiàn)是一個(gè) value永遠(yuǎn)為null的HashMap,實(shí)際就是通過計(jì)算hash的方式來快速排重的,這也是set能提供判斷一個(gè)成員是否在集合內(nèi)的原因。
5.zset(有序集合)
Redis zset 和 set 一樣也是String類型元素的集合,且不允許重復(fù)的成員,不同的是每個(gè)元素都會關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù),用來排序。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“中級Java工程師面試題及答案”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)推薦
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743