亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java程序中的延時(shí)加載異常及解決方案

 更新時(shí)間:2015年02月02日 09:46:26   投稿:hebedich  
這篇文章主要介紹了java程序中的延時(shí)加載異常及解決方案,需要的朋友可以參考下

所謂延時(shí)加載就是懶加載(lazy),延遲加載。

什么時(shí)候用懶加載呢,我只能回答要用懶加載的時(shí)候就用懶加載。

至于為什么要用懶加載呢,就是當(dāng)我們要訪問的數(shù)據(jù)量過大時(shí),明顯用緩存不太合適,因?yàn)閮?nèi)存容量有限 ,為了減少并發(fā)量,減少系統(tǒng)資源的消耗,

我們讓數(shù)據(jù)在需要的時(shí)候才進(jìn)行加載,這時(shí)我們就用到了懶加載。懶加載的異常有很多種,你指的是不是session已經(jīng)關(guān)閉的異常?因?yàn)槟莻€(gè)初學(xué)者最容易遇到情況是當(dāng)你加載出一個(gè)一對(duì)多關(guān)系的一這端的對(duì)象,然后在出了事務(wù)之后的地方,比如頁面上,還想再獲取多端對(duì)象里面的除了id以外的屬性的時(shí)候,就會(huì)跑出這個(gè)異常。

我舉個(gè)例子,你有一個(gè) Grade 對(duì)象關(guān)聯(lián)了 很多 Student 對(duì)象,并且用的是懶加載

你在service里面通過數(shù)據(jù)庫查詢獲得了一個(gè) Grade對(duì)象,這個(gè)對(duì)象里面有一個(gè)Set<Student> students 集合,但是你并沒有對(duì)這個(gè)對(duì)象做進(jìn)一步的處理(比如 intialize之類的操作讓懶加載的代理對(duì)象真正去實(shí)例化)
然后你到了頁面的展示的時(shí)候,去遍歷 students 這個(gè)集合,并且你試圖在頁面上顯示每個(gè) student 的 name 屬性(這個(gè)屬性不是studentId) 這個(gè)時(shí)候就會(huì)拋出session已經(jīng)關(guān)閉的異常

在SSH框架中:

可直接可以使用OpenSessionInViewFilter
在配置文件中配置

復(fù)制代碼 代碼如下:

 <filter-name>opensession</filter-name>  
         <filter-class>       org.springframework.orm.hibernate3.support.OpenSessionInViewFilter  
       </filter-class>  
 <filter-mapping>  
      <filter-name>opensession</filter-name>  
    <url-pattern>*.action</url-pattern>
 </filter-mapping>

以上就是本文的全部內(nèi)容了,希望小伙伴們能夠喜歡。

相關(guān)文章

  • 詳解Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片

    詳解Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片

    這篇文章主要介紹了Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 詳解JAVA動(dòng)態(tài)代理

    詳解JAVA動(dòng)態(tài)代理

    這篇文章主要介紹了JAVA動(dòng)態(tài)代理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java代碼是如何被CPU狂飆起來的

    Java代碼是如何被CPU狂飆起來的

    無論是剛剛?cè)腴TJava的新手還是已經(jīng)工作了的老司機(jī),恐怕都不容易把Java代碼如何一步步被CPU執(zhí)行起來這個(gè)問題完全講清楚。本文就帶你詳細(xì)了解Java代碼到底是怎么運(yùn)行起來的。感興趣的同學(xué)可以參考閱讀
    2023-03-03
  • spring @Validated 注解開發(fā)中使用group分組校驗(yàn)的實(shí)現(xiàn)

    spring @Validated 注解開發(fā)中使用group分組校驗(yàn)的實(shí)現(xiàn)

    這篇文章主要介紹了spring @Validated 注解開發(fā)中使用group分組校驗(yàn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • java中自帶有并發(fā)屬性的List總結(jié)

    java中自帶有并發(fā)屬性的List總結(jié)

    java中有很多l(xiāng)ist,但是原生支持并發(fā)的并不多,那么java中的并發(fā)list到底有哪些呢?下面小編就來給大家介紹一下ArrayList、CopyOnWriteArrayList、ConcurrentLinkedDeque這幾個(gè)吧
    2023-09-09
  • Java日期工具類的封裝詳解

    Java日期工具類的封裝詳解

    在日常的開發(fā)中,我們難免會(huì)對(duì)日期格式化,對(duì)日期進(jìn)行計(jì)算,對(duì)日期進(jìn)行校驗(yàn),為了避免重復(fù)寫這些瑣碎的邏輯,我這里封裝了一個(gè)日期工具類,方便以后使用,直接復(fù)制代碼到項(xiàng)目中即可使用,需要的可以參考一下
    2022-10-10
  • Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解

    Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解

    這篇文章主要介紹了Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java設(shè)置Access-Control-Allow-Origin允許多域名訪問的實(shí)現(xiàn)方法

    Java設(shè)置Access-Control-Allow-Origin允許多域名訪問的實(shí)現(xiàn)方法

    這篇文章主要介紹了Java設(shè)置Access-Control-Allow-Origin允許多域名訪問的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • Java設(shè)計(jì)模式之策略模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java設(shè)計(jì)模式之策略模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    策略模式是對(duì)算法的封裝,把一系列的算法分別封裝到對(duì)應(yīng)的類中,并且這些類實(shí)現(xiàn)相同的接口,相互之間可以替換。接下來通過本文給大家分享Java設(shè)計(jì)模式之策略模式,感興趣的朋友一起看看吧
    2017-08-08
  • spring是如何實(shí)現(xiàn)聲明式事務(wù)的

    spring是如何實(shí)現(xiàn)聲明式事務(wù)的

    這篇文章主要介紹了spring是如何實(shí)現(xiàn)聲明式事務(wù)的,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論