1. 程式人生 > >return一個list執行起來報java.lang.StackOverflowError:null

return一個list執行起來報java.lang.StackOverflowError:null

出現棧記憶體溢位的常見原因有2個: 
1. 函式遞迴呼叫層次過深,每呼叫一次,函式的引數、區域性變數等資訊就壓一次棧,並且沒有及時出棧。 
2. 區域性靜態變數體積太大
第二種情況也比較常見,比如在函式裡定義很大的區域性變數(例如大陣列),這種情況可以將區域性變數改為靜態變數(實質上也是全域性變數)。

我這裡遇到的應該就是函式裡定義很大的區域性變數

下面我來

SHOW MY CODE

我使用的SPRINGmvc ,springboot跑的專案,然後輸入對映的地址控制檯報錯:頁面地址也報錯

下面是頁面地址報錯:

控制檯報錯:

---------------------------------------------------

0*00

下面是我寫的controller的方法,對映地址:"/download"

0*01

下面是我列印的list內容,但是改成return list,就不行報錯棧溢位;

[</div>, <div class="content-c"> 
 <a target="_blank" :href="'/news/newsDetails/' + item.id" class="img-left"> <img :src="item.picUrl" alt=""> </a> 
 <div class="content-right"> 
  <div class="t-c-box"> 
   <a target="_blank" :href="'/news/newsDetails/'+item.id" class="p-title" v-html="item.title"></a> 
   <p class="p-content" v-html="item.summary"></p> 
  </div> 
  <div class="time-box"> 
   <div class="time-left"> 
    <span> <i class="iconfont icon-bofang-copy"></i> <span> {{item.source?item.source:"btc123原創"}} <span style="font-size: 18px">.</span> <span>{{item.modifiedText}}</span> </span> </span> 
   </div> 
   <div class="tag-right"> 
    <span><i class="iconfont icon-chakan"></i> <span>{{item.browseNum}}</span></span> 
    <!--<i class="iconfont icon-biaoqian-copy"></i>--> 
    <!--<span>{{item.tag}}</span>--> 
   </div> 
  </div> 
 </div> 
</div>, <div class="content-c"> 
 <a target="_blank" :href="'/news/newsDetails/'+item.id" class="img-left"> <img :src="item.picUrl" alt=""> </a> 
 <div class="content-right"> 
  <div class="t-c-box"> 
   <a v-if=" item.displayStatus == 2 " :href="'/news/newsDetails/'+item.id" class="p-title p-title-top" target="_blank" v-html="'<span>置頂</span>' + item.title "></a> 
   <a v-if=" item.displayStatus != 2 " :href="'/news/newsDetails/'+item.id" class="p-title p-title-top" target="_blank" v-html="item.title "></a> 
   <p class="p-content" v-html="item.summary"></p> 
  </div> 
  <div class="time-box"> 
   <div class="time-left"> 
    <span> <i class="iconfont icon-bofang-copy"></i> <span> {{item.source?item.source:"btc123原創"}} <span style="font-size: 18px">.</span> <span>{{item.modifiedText}}</span> </span> </span> 
   </div> 
   <div class="tag-right"> 
    <span><i class="iconfont icon-chakan"></i> <span>{{item.browseNum}}</span></span> 
    <!--<i class="iconfont icon-biaoqian-copy"></i>--> 
    <!--<span>{{item.tag}}</span>--> 
   </div> 
  </div> 
 </div> 
</div>]

經過討論和分析,這個list裡面的物件是Element,列印system.out是可以看到都資料的,

但是一改為 return就報錯了,應該就是list.add(引數)有問題.

回過頭又去改動程式碼,吧element.tostring 轉為字串再儲存到list集合

如下操作:

然後執行專案,輸入localhost:8001/download

成功返回list;