博學(xué)谷軟件測(cè)試就業(yè)課
匿名內(nèi)部類
Weapon w = new Weapon() {...};
1
? {} - 匿名類
? new - 新建匿名類的實(shí)例
? Weapon - 父類型
? () - super(),可傳參數(shù)super(1,2,3)
18.Java內(nèi)存管理
堆內(nèi)存 用來存放由new創(chuàng)建的對(duì)象實(shí)例和數(shù)組。Java堆是所有線程共享的一塊內(nèi)存區(qū)域,在虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建,此內(nèi)存區(qū)域的唯一目的就是存放對(duì)象實(shí)例。注意創(chuàng)建出來的對(duì)象只包含屬于各自的成員變量,并不包括成員方法。
棧內(nèi)存 保存的是堆內(nèi)存空間的訪問地址,或者說棧中的變量指向堆內(nèi)存中的變量(Java中的指針)
l 棧:保存局部變量的值,包括:1.用來保存基本數(shù)據(jù)類型的值;2.保存類的實(shí)例,即堆區(qū)對(duì)象的引用(指針)。也可以用來保存加載方法時(shí)的幀。常量池存在于堆中(1.7b后的新版本)。
普通類型的變量在棧中直接保存它所對(duì)應(yīng)的值,而引用類型的變量保存的是一個(gè)指向堆區(qū)的指針,通過這個(gè)指針,就可以找到這個(gè)實(shí)例在堆區(qū)對(duì)應(yīng)的對(duì)象。因此,普通類型變量只在棧區(qū)占用一塊內(nèi)存,而引用類型變量要在棧區(qū)和堆區(qū)各占一塊內(nèi)存。
方法區(qū)是各個(gè)線程共享的內(nèi)存區(qū)域,它用于存儲(chǔ)已被虛擬機(jī)加載的類信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。

公zh: 玲瓏找課