亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Can you spot the "memory leak"。如何寫出內存泄漏的代碼

Can you spot the "memory leak"。如何寫出內存泄漏的代碼

car 2017-09-28 00:13:23
//?Can?you?spot?the?"memory?leak"? import?java.util.Arrays; public?class?Stack?{ ????private?Object[]?elements; ????private?int?size?=?0; ????private?static?final?int?DEFAULT_INITIAL_CAPACITY?=?16; ????public?Stack()?{ ????????elements?=?new?Object[DEFAULT_INITIAL_CAPACITY]; ????} ????public?void?push(Object?e)?{ ????????ensureCapacity(); ????????elements[size++]?=?e; ????} ????public?Object?pop()?{ ????????if?(size?==?0) ????????????throw?new?EmptyStackException(); ????????return?elements[--size]; ????} ????/** ?????*?Ensure?space?for?at?least?one?more?element,?roughly ?????*?doubling?the?capacity?each?time?the?array?needs?to?grow. ?????*/ ????private?void?ensureCapacity()?{ ????????if?(elements.length?==?size) ????????????elements?=?Arrays.copyOf(elements,?2?*?size?+?1); ????} } 這段代碼會發生內存泄漏,無論我如何寫測試類,都沒有發生內存泄漏。
查看完整描述

1 回答

?
leiqjl

TA貢獻3條經驗 獲得超0個贊

當你調用pop方法時,彈出了這個對象,但棧內部的數組還保留著這個引用。


查看完整回答
反對 回復 2017-09-28
  • car
    car
    謝謝。這個回答書上有,我要的是代碼。否則的話,我只是知道,但是沒看見。
  • 1 回答
  • 0 關注
  • 1612 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號