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;