總結(jié):
1 棧:為編譯器自動(dòng)分配和釋放,如函數(shù)參數(shù)、局部變量、臨時(shí)變量等等
在方法返回的時(shí)候 盡量? return? 對(duì)象.方法();
2 堆:為成員分配和釋放,由程序員自己申請(qǐng)、自己釋放。否則發(fā)生內(nèi)存泄露。典型為使用new申請(qǐng)的堆內(nèi)容。
3 靜態(tài)存儲(chǔ)區(qū):內(nèi)存在程序編譯的時(shí)候就已經(jīng)分配好,這塊內(nèi)存在程序的整個(gè)運(yùn)行期間都存在。它主要存放靜態(tài)數(shù)據(jù)、全局?jǐn)?shù)據(jù)和常量。
值傳遞和引用傳遞的區(qū)別:
值傳遞:實(shí)參會(huì)把它的值傳遞給形參
引用傳遞:傳遞的是對(duì)象,形參和實(shí)參指向同個(gè)存儲(chǔ)單元(同一個(gè)地址)。