知識社群
登入
中文(台灣)
English(US)
Q&A
線上人數:
26
回首頁
最新活動
(34)
公佈欄
最新公告
近期課程
技術專欄
Android
嵌入式Linux
韌體設計
FPGA / Verilog
站上資源
線上教學
文件總覽
廠商徵才
專業論壇
(1315)
推廣成果
學員專題
Android I/O Workshop
Android 企業產訓專班
活動花絮
(58)
專班學員資訊平台
102年嵌入式軟韌體設計工程師養成班
102年JAVA程式設計班
102Linux網路工程師-LPI認證養成班
嵌入式Linux就業班第二梯次
嵌入式Linux就業班第三梯次
101年 Android設計班(2)
101年 Android設計班(1)
公告
艾鍗學院成立滿十週年了!十年一遇的超值回饋,獻給堅持學習的你~
(03-12)
【2019下半年課程行事曆】政府+企業雙重補助,AI人才養成計劃開跑
(07-10)
IT TRAINING 2019上半年最新技術培訓一覽
(03-13)
[
more
]
最新消息
文件分類
[
總覽
]
廠商徵才資訊
(215)
學員專題成果
(31)
研討會活動專區
(5)
Android 專欄
(19)
活動簡報檔
(2)
線上教學 Training Video
(24)
韌體設計相關
(17)
Embedded LInux 專欄
(54)
Raspberry Pi
(4)
FPGA/Verilog 專欄
(14)
小品文章
(37)
未分類文件
(28)
101年 Android 應用軟體設計班
(4)
基礎C程式&資料結構
(8)
嵌入式Linux就業班第二梯次
(20)
101年臺北市政府勞工局職業訓練中心-Android APP 軟體開發人才培訓就業班
(16)
102年Linux網路工程師-LPI認證養成班
(9)
102年JAVA程式設計班
(2)
102年嵌入式軟韌體設計工程師養成班
(6)
Access VBA
(5)
Excel VBA
(4)
產業訊息
(2)
PCB Layout
(7)
電子電路
(6)
專班文件區
嵌入式Linux就業班第三梯次
(13)
社群資訊
訪客: 3188163
文章: 557
討論: 1315
公告: 31
容量: 剩餘
2.4 GB
(4 GB)
閱讀權限: 開放
分類:
教育學習 / 軟體系統
版主: 艾鍗學院
副版主: 無
位置:
艾鍗學院 Blog
>
專業論壇
>
討論
[Android實作問題] is it to exist 2 instances or 1 in memory ?
(小K, 2011-12-26 15:49)
1樓
Hello Jarey,
請教一個問題,這在記憶体會存在二個物件實例 ,還是只有一個物件實例呢?
class TestA
{
TestB b;
void fun1()
{
b = new TestB();
b.var = 1;
}
void fun2()
{
b = new TestB();
b.var = 2;
}
}
Thank you
小K
(Jarey, 2011-12-26 19:55)
2樓
只要有使用到new關鍵字, Class Loader就會從Class類別實體化一個新的物件到記憶體中,
你呼叫fun1與fun2都會重新new一個TestB(),這將會導致一直不斷的重新建構新的物件,應該說
每次呼叫就會產生新的實體物件在記憶體中,而舊的物件因為不會有人去參照. (因為你的參照變數
b 會重新指到新建的物件去,舊的物件自然就沒人指向它了,所以當記憶體快不足時,GC會跑去來
把你先前建過的所有沒有被人參照的TestB物件一口氣回收掉。
當然跑GC是要耗費資源的.
{