内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

多年開發(fā)經(jīng)驗(yàn)總結(jié)的Java面試題——(七)

1、Hibernate悲觀鎖和樂觀鎖

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、永和網(wǎng)站維護(hù)、網(wǎng)站推廣。

(更多面試題推薦:java面試題及答案)

Hibernate悲觀鎖:在數(shù)據(jù)有加載的時(shí)候就給其進(jìn)行加鎖,直到該鎖被釋放掉,其他用戶才可以進(jìn)行修改,優(yōu)點(diǎn):數(shù)據(jù)的一致性保持得很好,缺點(diǎn):不適合多個(gè)用戶并發(fā)訪問。當(dāng)一個(gè)鎖住的資源不被釋放掉的時(shí)候,這個(gè)資源永遠(yuǎn)不會(huì)被其他用戶進(jìn)行修改,容易造成無限期的等待。

Hibernate樂觀鎖:就是在對數(shù)據(jù)進(jìn)行修改的時(shí)候,對數(shù)據(jù)才去版本或者時(shí)間戳等方式來比較,數(shù)據(jù)是否一致性來實(shí)現(xiàn)加鎖。優(yōu)點(diǎn)比較好。

2、Hibernate三種狀態(tài)

臨時(shí)狀態(tài):new的對象還未持久化,還沒處于Session中

持久狀態(tài):已經(jīng)持久化,加入到session緩存沖,處于此狀態(tài)的對象叫持久對象;

游離狀態(tài):持久化對象脫離了Session的對象。如Session緩存被清空的對象。特點(diǎn):已經(jīng)持久化,但不在Session緩存中。處于此狀態(tài)的對象叫游離對象;

(相關(guān)教程推薦:java入門教程)

3、hibernate和ibatis的區(qū)別

ibatis:開源項(xiàng)目上手簡單,開發(fā)靈活,開發(fā)工作量大,大多自己寫sql,很多配置文件

Hibernate:開源的對象關(guān)系映射框架,開發(fā)效率高,但不能干擾sql,做優(yōu)化程度較低

4、講講mybatis連接池

常見的mybatis連接池有原生、c3p0、dbcp三類,通過工廠模式創(chuàng)建DataSource接口,它的實(shí)現(xiàn)有unpooledDataSource(不帶連接池的數(shù)據(jù)源),PooledDataSource(帶連接池的數(shù)據(jù)源),它們都可以通過對應(yīng)的工廠類對象獲?。?/p>

拿PooledDataSource來說的話首先:需要一個(gè)連接數(shù)據(jù)庫的對象,在執(zhí)行SQL語句的時(shí)候獲取java.sql.Connection連接對象

其次:PooledDataSource數(shù)據(jù)源將Connection連接池對象包裹成PooledConnection對象放到了PoolState類型的容器中維護(hù)。 MyBatis將連接池中的連接池dui分為兩種狀態(tài): 空閑狀態(tài)(idle)和活動(dòng)狀態(tài)(active),PooledConnection對象分別被存儲(chǔ)到PoolState容器內(nèi)的idleConnections和activeConnections兩個(gè)List集合中:

空閑(idle)狀態(tài)就把PooledConnection對象被放置到idleConnections集合中,表示當(dāng)前閑置的沒有被使用的PooledConnection集合,調(diào)用PooledDataSource的getConnection()方法時(shí),會(huì)優(yōu)先從此集合中取PooledConnection對象。當(dāng)用完一個(gè)java.sql.Connection對象時(shí),MyBatis會(huì)將其包裹成PooledConnection對象放到此集合中。

活動(dòng)(active)狀態(tài)下把PooledConnection對象被放置到名為activeConnections的ArrayList中,表示當(dāng)前正在被使用的PooledConnection集合,調(diào)用PooledDataSource的getConnection()方法時(shí),會(huì)優(yōu)先從idleConnections集合中取PooledConnection對象,如果沒有,則看此集合是否已滿,如果未滿,PooledDataSource會(huì)創(chuàng)建出一個(gè)PooledConnection,添加到此集合中,并返回;

(視頻教程推薦:java課程)

5、SpringMVC的工作原理

用戶發(fā)送請求,被前端控制器DispatcherServlet捕獲攔截;

DispatcherServlet調(diào)用HandlerMapping處理器映射管理對象獲得Handler處理器;

DispatcherServlet根據(jù)Handler去獲取適合的適配器HandlerAdpter,HttpMessageConveter將請求信息轉(zhuǎn)換成指定的響應(yīng)對象;

有了適配器,把請求參數(shù)填充到Handler,spring就開始執(zhí)行Handler(Controller)進(jìn)行數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)驗(yàn)證、數(shù)據(jù)格式化操作

Handler執(zhí)行完之后,向DispatcherServlet返回一個(gè)ModelAndView對象;

根據(jù)返回的ModelAndView選擇一個(gè)合適的ViewResolver視圖解析器,找到ModelAndView指定的視圖;

ViewResolver結(jié)合Model、View渲染顯示頁面;

新聞標(biāo)題:多年開發(fā)經(jīng)驗(yàn)總結(jié)的Java面試題——(七)
當(dāng)前URL:http://m.rwnh.cn/article8/cgeiip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、移動(dòng)網(wǎng)站建設(shè)Google、網(wǎng)站收錄品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
中方县| 广河县| 泰来县| 明光市| 宁乡县| 西和县| 灵石县| 沽源县| 北川| 江北区| 安达市| 蒙城县| 酒泉市| 嘉峪关市| 日照市| 荃湾区| 开鲁县| 星子县| 广宗县| 岳池县| 宜宾市| 孟连| 宿迁市| 恩施市| 工布江达县| 苏尼特左旗| 凤山市| 建始县| 盐城市| 杭州市| 苏尼特左旗| 贞丰县| 吉安县| 河北区| 平江县| 深州市| 永吉县| 江山市| 洛宁县| 金山区| 高密市|