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

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

對象的內存分配問題

對象的內存分配問題

喵喔喔 2018-12-06 21:16:44
class Program { User u1 = new User(); static User u2 = new User(); int lenght1 = 2; static int length2 = 2; static void Main(string[] args) { } } ? 對 對象的內存分配還是有一些疑問,先不管它的先后順序。 1. u1分配:先在堆棧上分配一個變量u1,再在托管堆中分配一內存new User(),再將u1指向new User(); 是不是這樣的? ? 2. u2的分配和u1的一樣嗎,也是u2在堆棧,new User()在托管堆嗎?static 變量會被分配到加載堆中Loader Heap,是 指等號右邊的分配到加載堆中還是 連左邊的一起分配到加載堆中。 ? 3.引用對象Class中的 值類型也是分配在托管堆中,是指 值分配在托管堆中嗎? 如 length1, 是值2 分配在托管堆中,length1這個變量是分配在 堆棧嗎? ? 4.如果以上是這樣分配的,那就是 等號 左邊的變量分配在 堆棧,右邊的值分配在托管堆中,是不是這樣? 各位解釋一下,謝謝!
查看完整描述

20 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

@chenping2008:? 謝謝! 就是 在 看這本書 時? 想到的疑問
查看完整回答
反對 回復 2018-12-09
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

謝謝,文章 不錯
查看完整回答
反對 回復 2018-12-09
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

這個 弄清楚了, 很多問題 可以解析
查看完整回答
反對 回復 2018-12-09
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

我覺得只要分清楚引用和基本數據類型就可以了,冒昧地問一下,分這么細的原因???
查看完整回答
反對 回復 2018-12-09
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

@chenping2008:? 呵呵 謝謝,還在理解中...
查看完整回答
反對 回復 2018-12-09
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

@Qlin: 說說
查看完整回答
反對 回復 2018-12-09
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

@chenping2008:? 大哥 ,你這幅圖 我倒是不同意啊
查看完整回答
反對 回復 2018-12-09
?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

@chenping2008:? 這個 知道,? u1 這個變量是在 堆棧上, u1指向的 值 在 托管堆上,是不是?
查看完整回答
反對 回復 2018-12-09
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

@Qlin: 其實你只是關注了那些變量,你有沒有看到還有一個program的實例的。你說的那些變量都是在program的實例中的
查看完整回答
反對 回復 2018-12-09
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

值類型肯定是存放在棧上,引用類型肯定是存放在堆中 static標識只是標識該對象在加載時被創建,其他和普通對象沒區別
查看完整回答
反對 回復 2018-12-09
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

@Qlin: 這個本?你不得不知道的.net 也不錯的
查看完整回答
反對 回復 2018-12-09
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

書上也是 這樣帶過,有沒有 更細的 說說 u1 這個變量是分配在 堆棧,但是 u1指向的那個對象值分配在 堆 中吧?
查看完整回答
反對 回復 2018-12-09
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

CLR?via?C#?買本這本書看看
查看完整回答
反對 回復 2018-12-09
?
烙印99

TA貢獻1829條經驗 獲得超13個贊

@Qlin:? 前面說了呀,static標識只是標識該對象在加載時被創建,其他和普通對象沒區別
查看完整回答
反對 回復 2018-12-09
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

@Rich.T:? 謝謝,兄弟 那說說 static int length2 = 2; 吧, 左邊 和右邊是怎么分布的?
查看完整回答
反對 回復 2018-12-09
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

@Qlin:? 1. u1分配:先在堆棧上分配一個變量u1,再在托管堆中分配一內存new User(),再將u1指向new User(); 是不是這樣的? 這個理解是對的
查看完整回答
反對 回復 2018-12-09
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

這個 引用類型 和值類型的分配 是你這樣說的。細點說說吧, u1 這個變量是分配在 堆棧,但是 u1指向的那個對象值分配在 堆 中吧?
查看完整回答
反對 回復 2018-12-09
  • 20 回答
  • 0 關注
  • 400 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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