• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 7  文章 - 57  trackbacks - 0
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            如果我有幸成為比較famous的人,這篇文章就會(huì)被更多的人看到。
            ——題記

            老板們到底都在想什么?

            我從來都不認(rèn)為單純的理想就足夠運(yùn)營一間公司,一間公司要生存下去,就必須得盈利。所以從這個(gè)角度來看,老板們肯定是想要獲得更多的利潤而節(jié)約更多的成本。所以我不存在太強(qiáng)烈的被迫害妄想,認(rèn)為資本家總是在榨取我們的剩余價(jià)值,總是在戕害我們。我也不認(rèn)為大老板們或者掌權(quán)者需要對(duì)我們有多好多好。

            公司的股東和掌握實(shí)權(quán)的人想要賺錢我覺得這是無可厚非的。

            真正讓我疑惑的,是老板和大佬們除了賺錢和利用公司實(shí)現(xiàn)個(gè)人理想之外,他們到底還在想些什么呢?

            坦白說,我感覺現(xiàn)在的環(huán)境環(huán)境相當(dāng)?shù)脑愀狻.?dāng)然,“糟糕”這個(gè)評(píng)級(jí)是跟我過去的工作環(huán)境相比較而獲得的。而且在過去的一段時(shí)間里,我依然為同一間公司服務(wù)。

            現(xiàn)在的工作環(huán)境怎么個(gè)糟糕呢?

            最近我搬去了一個(gè)新的辦公環(huán)境。新辦公地點(diǎn)的交通沒有以前便捷了,附近的配套設(shè)施也更加稀缺——例如我以前從來不怎么需要擔(dān)心去午餐和晚餐去哪里吃。但我現(xiàn)在陷入到不愉快的憂慮中,因?yàn)槲乙院竺刻焐习辔叶家獮槊刻熘形缫允裁矗ツ睦锊拍苷业匠远^痛。而且即使找到吃的,也不一定代表萬事大吉。送外賣可能晚點(diǎn),好不容易到達(dá)了可能少了點(diǎn)東西;食堂據(jù)說性價(jià)比極其低下;如果我要提高一下餐飲質(zhì)量我還得徒步去比較遠(yuǎn)的地方,浪費(fèi)時(shí)間……
            不得不說,作為一個(gè)土生土長的廣州人,我真的很在乎吃這件事。吃得不好,直接影響我的工作心情。

            食和行已經(jīng)變差,情況還能更糟糕點(diǎn)嗎?答案是,能。
            工作環(huán)境和設(shè)施直線下降一個(gè)等級(jí)。如果食和行還可以將就,只是魔鬼筋肉人鋼鐵一般的皮膚下的一個(gè)小傷口的話,那辦公環(huán)境的變壞就簡直像是在美國紐約“種了一個(gè)蘑菇”。
            我的工位大小嚴(yán)重縮水,寬度甚至不夠我完全舒展我的雙臂。擺放兩個(gè)24寸的顯示器(雖然公司從未給我配備這種規(guī)格的裝備)就完全沒有什么自由空間了。我不再像以前那樣能在工位上找張白紙隨意寫寫畫畫,跟同事說我的構(gòu)思和想法,也不再像以前一樣編程累了可以比較舒服地趴在工位上打個(gè)盹。狹窄的桌面迫使我把辦公用品堆放得更加緊湊,過度密集的同事們把我重重包圍,導(dǎo)致我到辦公室坐下的第一時(shí)間想到的居然是什么時(shí)候能夠下班!

            由于辦公室是新裝修的,有人甚至瘋傳過里面的甲醛含量尚未達(dá)標(biāo)。即使擺放了更多綠色植物,也依然無法改善因?yàn)楣の豢s水,基礎(chǔ)設(shè)施落后而導(dǎo)致的低落心情。已經(jīng)聽見不止一位同事在抱怨如廁體驗(yàn)不如以前舒適。

            很多人都就新辦公環(huán)境的“用戶體驗(yàn)”達(dá)成了一個(gè)精煉的公式,我們就是在網(wǎng)吧里當(dāng)客服嘛。

            作為一個(gè)程序員,卻被強(qiáng)制轉(zhuǎn)職為“網(wǎng)吧里的客服”,我覺得很不爽也很疑惑。我甚至不知道如果微軟的Cutler遇上這樣的事會(huì)不會(huì)沖上去毆打他們的CEO(當(dāng)然如果他們敢這么干的話)。

            我知道作為一個(gè)初出校園,經(jīng)驗(yàn)不豐富的程序員新手,在大多數(shù)情況下能給公司帶來的價(jià)值是不大的。甚至有人跟我灌輸過“公司請(qǐng)你們進(jìn)來其實(shí)一開始是在虧錢培養(yǎng)的”之類的觀念。某程度上我認(rèn)為他的觀點(diǎn)可以理解,但心里總有種莫名的憤怒。即使一個(gè)人創(chuàng)造的價(jià)值是如此的微小,但能不能代表他的創(chuàng)造就可以被忽視?

            我不知道大老板們是不是不重視程序員所創(chuàng)造的價(jià)值還是干脆認(rèn)為公司養(yǎng)了一大批根本沒在創(chuàng)造價(jià)值的程序員(新手)。如果他們認(rèn)同程序員所創(chuàng)造的價(jià)值,并希望他們能給公司創(chuàng)造更多價(jià)值的話,那為什么給予他們比起以前明顯差了那么多的待遇?

            有位富有經(jīng)驗(yàn)的同事曾經(jīng)跟我分享過他的一些觀點(diǎn),他認(rèn)為:程序員的薪水并不是公司當(dāng)年的業(yè)績和收入所決定的,而是社會(huì)上同一層次的程序員所能接受的平均薪水決定的。那樣似乎就可以認(rèn)為,公司賺不賺錢跟那群寫代碼寫到頸椎病、黑眼圈、掉頭發(fā)甚至爆心臟的程序員沒有任何關(guān)系。只有市場(chǎng)上存在一位張三他愿意拿80%的薪水去完成100%的工作,那老板們就能心安理得地push李四拿100%的薪水去完成120%的工作甚至更多。如果李四不滿而離職,老板們似乎也認(rèn)為毫無損失。因?yàn)榻鉀Q方案很簡單,你不干大把人干,只要把張三招進(jìn)來就可以了。

            這么看來,似乎都把老板們描畫得十分簡單粗暴和不近人情。而且邪惡的形象之下還帶著揮之不去的愚蠢。但是想深一層,老板們似乎絕對(duì)不可能愚蠢甚至有可能是精明得嚇人的。

            為什么呢?

            現(xiàn)在資訊如此發(fā)達(dá),博客和軟文滿天飛。減薪、加班和削減福利導(dǎo)致的代碼質(zhì)量下降,人才流失最后帶來的效率低下和項(xiàng)目破產(chǎn),直接增加公司的運(yùn)營成本,這么簡單的道理和現(xiàn)象,那些拿了美帝名校phD學(xué)位的老板們?cè)趺纯赡懿恢滥兀∧羌热凰麄冎溃瑸槭裁催€要反其道而行之呢?

            現(xiàn)在的狀況看起來似乎就是:我們的大老板明知道降低我們的工作和生活質(zhì)量會(huì)導(dǎo)致公司運(yùn)營成本的增加,但是他們卻無動(dòng)于衷。而且對(duì)待程序員好一些并不是什么喪心病狂、喪盡天良的事,也有很多國內(nèi)和國外的公司在這一方面做得非常好。在此就不列舉那些福利喪心病狂的公司了。因?yàn)橐坏┡e出具體的例子,就一定會(huì)有人跳出來發(fā)動(dòng)圣戰(zhàn),說某某一直宣揚(yáng)自己人工高,福利好的公司其實(shí)是無惡不作的綠茶婊;國內(nèi)很多公司連飯都吃不飽就不應(yīng)該談小資情懷云云。

            這又明顯地催生出一個(gè)新的疑問:我覺得我所在的公司最近形勢(shì)一片大好啊,至少在股價(jià)和大老板每個(gè)季度的財(cái)報(bào)里都體現(xiàn)出公司蒸蒸日上的勢(shì)頭,那為什么公司賺那么多錢卻不租一個(gè)好一點(diǎn)的臨時(shí)辦公地點(diǎn)?可能有些人會(huì)回答說:因?yàn)樯鐣?huì)上同一層次的程序員的平均需求下限就是可以到達(dá)這么低,所以公司這么干也無可厚非。那我就更疑惑了,既然如此 ,那為什么某些公司在其一個(gè)老員工掛掉了之后還給ta的配偶發(fā)一半的工資呢?難道這就是傳說中的犯賤嗎?

            為什么號(hào)稱是同一類型的公司,老板們的行為的差異卻是如此之大?究竟他們?cè)谙胧裁茨?#8230;…

            或者粗鄙地吼一聲:對(duì)你的員工好一點(diǎn)你會(huì)死嗎!


            posted @ 2014-09-23 00:37 ArthasLee 閱讀(423) | 評(píng)論 (0)編輯 收藏
            如果我有幸成為比較famous的人,這篇文章就會(huì)被更多的人看到。
            ——題記

            老板們到底都在想什么?

            我從來都不認(rèn)為單純的理想就足夠運(yùn)營一間公司,一間公司要生存下去,就必須得盈利。所以從這個(gè)角度來看,老板們肯定是想要獲得更多的利潤而節(jié)約更多的成本。所以我不存在太強(qiáng)烈的被迫害妄想,認(rèn)為資本家總是在榨取我們的剩余價(jià)值,總是在戕害我們。我也不認(rèn)為大老板們或者掌權(quán)者需要對(duì)我們有多好多好。

            公司的股東和掌握實(shí)權(quán)的人想要賺錢我覺得這是無可厚非的。

            真正讓我疑惑的,是老板和大佬們除了賺錢和利用公司實(shí)現(xiàn)個(gè)人理想之外,他們到底還在想些什么呢?

            坦白說,我感覺現(xiàn)在的環(huán)境環(huán)境相當(dāng)?shù)脑愀狻.?dāng)然,“糟糕”這個(gè)評(píng)級(jí)是跟我過去的工作環(huán)境相比較而獲得的。而且在過去的一段時(shí)間里,我依然為同一間公司服務(wù)。

            現(xiàn)在的工作環(huán)境怎么個(gè)糟糕呢?

            最近我搬去了一個(gè)新的辦公環(huán)境。新辦公地點(diǎn)的交通沒有以前便捷了,附近的配套設(shè)施也更加稀缺——例如我以前從來不怎么需要擔(dān)心去午餐和晚餐去哪里吃。但我現(xiàn)在陷入到不愉快的憂慮中,因?yàn)槲乙院竺刻焐习辔叶家獮槊刻熘形缫允裁矗ツ睦锊拍苷业匠远^痛。而且即使找到吃的,也不一定代表萬事大吉。送外賣可能晚點(diǎn),好不容易到達(dá)了可能少了點(diǎn)東西;食堂據(jù)說性價(jià)比極其低下;如果我要提高一下餐飲質(zhì)量我還得徒步去比較遠(yuǎn)的地方,浪費(fèi)時(shí)間……
            不得不說,作為一個(gè)土生土長的廣州人,我真的很在乎吃這件事。吃得不好,直接影響我的工作心情。

            食和行已經(jīng)變差,情況還能更糟糕點(diǎn)嗎?答案是,能。
            工作環(huán)境和設(shè)施直線下降一個(gè)等級(jí)。如果食和行還可以將就,只是魔鬼筋肉人鋼鐵一般的皮膚下的一個(gè)小傷口的話,那辦公環(huán)境的變壞就簡直像是在美國紐約“種了一個(gè)蘑菇”。
            我的工位大小嚴(yán)重縮水,寬度甚至不夠我完全舒展我的雙臂。擺放兩個(gè)24寸的顯示器(雖然公司從未給我配備這種規(guī)格的裝備)就完全沒有什么自由空間了。我不再像以前那樣能在工位上找張白紙隨意寫寫畫畫,跟同事說我的構(gòu)思和想法,也不再像以前一樣編程累了可以比較舒服地趴在工位上打個(gè)盹。狹窄的桌面迫使我把辦公用品堆放得更加緊湊,過度密集的同事們把我重重包圍,導(dǎo)致我到辦公室坐下的第一時(shí)間想到的居然是什么時(shí)候能夠下班!

            由于辦公室是新裝修的,有人甚至瘋傳過里面的甲醛含量尚未達(dá)標(biāo)。即使擺放了更多綠色植物,也依然無法改善因?yàn)楣の豢s水,基礎(chǔ)設(shè)施落后而導(dǎo)致的低落心情。已經(jīng)聽見不止一位同事在抱怨如廁體驗(yàn)不如以前舒適。

            很多人都就新辦公環(huán)境的“用戶體驗(yàn)”達(dá)成了一個(gè)精煉的公式,我們就是在網(wǎng)吧里當(dāng)客服嘛。

            作為一個(gè)程序員,卻被強(qiáng)制轉(zhuǎn)職為“網(wǎng)吧里的客服”,我覺得很不爽也很疑惑。我甚至不知道如果微軟的Cutler遇上這樣的事會(huì)不會(huì)沖上去毆打他們的CEO(當(dāng)然如果他們敢這么干的話)。

            我知道作為一個(gè)初出校園,經(jīng)驗(yàn)不豐富的程序員新手,在大多數(shù)情況下能給公司帶來的價(jià)值是不大的。甚至有人跟我灌輸過“公司請(qǐng)你們進(jìn)來其實(shí)一開始是在虧錢培養(yǎng)的”之類的觀念。某程度上我認(rèn)為他的觀點(diǎn)可以理解,但心里總有種莫名的憤怒。即使一個(gè)人創(chuàng)造的價(jià)值是如此的微小,但能不能代表他的創(chuàng)造就可以被忽視?

            我不知道大老板們是不是不重視程序員所創(chuàng)造的價(jià)值還是干脆認(rèn)為公司養(yǎng)了一大批根本沒在創(chuàng)造價(jià)值的程序員(新手)。如果他們認(rèn)同程序員所創(chuàng)造的價(jià)值,并希望他們能給公司創(chuàng)造更多價(jià)值的話,那為什么給予他們比起以前明顯差了那么多的待遇?

            有位富有經(jīng)驗(yàn)的同事曾經(jīng)跟我分享過他的一些觀點(diǎn),他認(rèn)為:程序員的薪水并不是公司當(dāng)年的業(yè)績和收入所決定的,而是社會(huì)上同一層次的程序員所能接受的平均薪水決定的。那樣似乎就可以認(rèn)為,公司賺不賺錢跟那群寫代碼寫到頸椎病、黑眼圈、掉頭發(fā)甚至爆心臟的程序員沒有任何關(guān)系。只有市場(chǎng)上存在一位張三他愿意拿80%的薪水去完成100%的工作,那老板們就能心安理得地push李四拿100%的薪水去完成120%的工作甚至更多。如果李四不滿而離職,老板們似乎也認(rèn)為毫無損失。因?yàn)榻鉀Q方案很簡單,你不干大把人干,只要把張三招進(jìn)來就可以了。

            這么看來,似乎都把老板們描畫得十分簡單粗暴和不近人情。而且邪惡的形象之下還帶著揮之不去的愚蠢。但是想深一層,老板們似乎絕對(duì)不可能愚蠢甚至有可能是精明得嚇人的。

            為什么呢?

            現(xiàn)在資訊如此發(fā)達(dá),博客和軟文滿天飛。減薪、加班和削減福利導(dǎo)致的代碼質(zhì)量下降,人才流失最后帶來的效率低下和項(xiàng)目破產(chǎn),直接增加公司的運(yùn)營成本,這么簡單的道理和現(xiàn)象,那些拿了美帝名校phD學(xué)位的老板們?cè)趺纯赡懿恢滥兀∧羌热凰麄冎溃瑸槭裁催€要反其道而行之呢?

            現(xiàn)在的狀況看起來似乎就是:我們的大老板明知道降低我們的工作和生活質(zhì)量會(huì)導(dǎo)致公司運(yùn)營成本的增加,但是他們卻無動(dòng)于衷。而且對(duì)待程序員好一些并不是什么喪心病狂、喪盡天良的事,也有很多國內(nèi)和國外的公司在這一方面做得非常好。在此就不列舉那些福利喪心病狂的公司了。因?yàn)橐坏┡e出具體的例子,就一定會(huì)有人跳出來發(fā)動(dòng)圣戰(zhàn),說某某一直宣揚(yáng)自己人工高,福利好的公司其實(shí)是無惡不作的綠茶婊;國內(nèi)很多公司連飯都吃不飽就不應(yīng)該談小資情懷云云。

            這又明顯地催生出一個(gè)新的疑問:我覺得我所在的公司最近形勢(shì)一片大好啊,至少在股價(jià)和大老板每個(gè)季度的財(cái)報(bào)里都體現(xiàn)出公司蒸蒸日上的勢(shì)頭,那為什么公司賺那么多錢卻不租一個(gè)好一點(diǎn)的臨時(shí)辦公地點(diǎn)?可能有些人會(huì)回答說:因?yàn)樯鐣?huì)上同一層次的程序員的平均需求下限就是可以到達(dá)這么低,所以公司這么干也無可厚非。那我就更疑惑了,既然如此 ,那為什么某些公司在其一個(gè)老員工掛掉了之后還給ta的配偶發(fā)一半的工資呢?難道這就是傳說中的犯賤嗎?

            為什么號(hào)稱是同一類型的公司,老板們的行為的差異卻是如此之大?究竟他們?cè)谙胧裁茨?#8230;…

            或者粗鄙地吼一聲:對(duì)你的員工好一點(diǎn)你會(huì)死嗎!


            posted @ 2014-09-23 00:37 ArthasLee 閱讀(423) | 評(píng)論 (0)編輯 收藏
            在寫WG或者一些輔助小工具的過程中,難免會(huì)涉及到向窗口的某個(gè)控件發(fā)送鼠標(biāo)消息,或者是直接點(diǎn)擊窗口或者屏幕上的某一個(gè)區(qū)域。在資料不充分(例如對(duì)方使用的是DirectUI,控件的句柄就很難獲得,自然也很難知道某個(gè)控件或者對(duì)象相對(duì)于窗口或者屏幕左上角的坐標(biāo)值)的情況下,很難確定在發(fā)送鼠標(biāo)消息的時(shí)候,鼠標(biāo)的坐標(biāo)是多少。那么,如何快速地利用工具作簡單的查找呢?


            筆者在制作一個(gè)QQ游戲的輔助工具時(shí),就曾經(jīng)因?yàn)橐粫r(shí)間找不到兩幅圖片相對(duì)于窗口左上角的坐標(biāo)而苦惱。
            (因?yàn)檫@個(gè)找茬輔助工具是基于屏幕截圖,像素點(diǎn)之間逐一直接比對(duì)的)
            如何知道上圖兩個(gè)紅點(diǎn)分別相對(duì)于窗口左上角的坐標(biāo)值呢?
            擴(kuò)展,又如何知道兩幅找茬圖片的寬度和高度呢?
            網(wǎng)上不乏好的查找方法,但是為了獲取幾組值而另外寫程序,筆者認(rèn)為不夠靈活。
            程序員還是應(yīng)該懶一點(diǎn)~

            解決方案如下:
            運(yùn)用photoshop的標(biāo)尺功能即可完成任務(wù):
            筆者用的是photoshopCS4,估計(jì)其他版本也有這個(gè)功能。

            第一步:
            利用QQ自帶的截圖功能(TX這回自作聰明了,QQ截圖居然可以針對(duì)某個(gè)特定窗口或者某個(gè)特定控件截圖,從而省卻了全屏截圖過后裁切窗口的步驟),截取游戲窗口的PP,如下

            第二步,在photoshopCS4中打開這張圖片,放大之,然后在工具欄中選擇標(biāo)尺工具,如圖:

            標(biāo)尺工具


            接著在圖片左上角的位置開始,沿著任意方向拖曳標(biāo)尺工具,就像平時(shí)在windows畫圖中畫直線一樣,然后我們會(huì)看到一條很細(xì)的直線被拖出;
            筆者往下垂直拖曳,這除了能夠確定左上角坐標(biāo)之外,還可以測(cè)量出圖片的高度。
            紅色框框里面的灰色線條(兩頭有十字圖案的)就是拖曳出來的直線標(biāo)尺。
            藍(lán)色框框有幾組值,熟悉windows窗口編程的童鞋們應(yīng)該都可以笑而不語了,筆者不才,還是斗膽解說一下:
            x:相對(duì)于圖片左上角的像素橫坐標(biāo)(也就是我們要找的圖片或者控件相對(duì)于窗口左上角的坐標(biāo)值)
            y:相對(duì)于圖片左上角的像素縱坐標(biāo)(同上)
            w:width,線段兩端端點(diǎn)之間的水平寬度(單位是像素)在這里是負(fù)數(shù)是因?yàn)楣P者的終點(diǎn)在起點(diǎn)的水平方向左邊,因此是負(fù)數(shù)。
            h:height,線段兩端端點(diǎn)之間的垂直寬度(單位是像素)

            注意:這里得到的數(shù)值是一個(gè)小數(shù),其實(shí)說白了也是精度問題。
            平時(shí)在做windows窗口編程的過程中,控件的坐標(biāo)總是整數(shù),例如上圖的x = 9.44,要取9還是取10,那就要看我們?cè)谝婚_始選點(diǎn)的時(shí)候是否夠貼近真值。
            這里目測(cè)一下(噗!O(∩_∩)O哈哈~),顯然是比真實(shí)圖像稍微偏左了,因此取10,其他值都按照這個(gè)方法處理。


            用這種方法,可以測(cè)出兩幅圖片的左上角坐標(biāo)和圖片的寬、高。獲得值之后,運(yùn)用到程序中,誤差不會(huì)超過5個(gè)像素,到時(shí)在測(cè)試過程中微調(diào)一下就OK了。
            筆者很幸運(yùn),第一次取整的時(shí)候就估中了,O(∩_∩)O哈哈~

            針對(duì)QQ游戲大家來找茬,發(fā)放一下小屏幕版本的關(guān)鍵數(shù)據(jù)吧:
            x1 = 10
            y1 = 185
            x2 = 403
            y2 = 185
            nWidth = 380
            nHeight = 285


            最后惡心一下:祝各位準(zhǔn)備YY各種游戲輔助工具的親們開發(fā)愉快,噗哈哈哈哈哈!

            誰說只有美工能用PS捏?咱們程序員也可以適當(dāng)投機(jī)取巧一下嘛~哈哈





            posted @ 2011-07-24 22:22 ArthasLee 閱讀(10152) | 評(píng)論 (0)編輯 收藏
                 摘要: 2011/6/9 今天真是個(gè)詭異的日子~哈哈哈哈哈哈哈   經(jīng)過前幾天的小試牛刀,已經(jīng)實(shí)現(xiàn)了游戲中的小人在跳來跳去的動(dòng)畫(鍵盤控制)。不過有個(gè)很礙眼的bug,畫面閃爍得非常厲害。看到眼到暈了。此物會(huì)在綠色block和地面之間跳來跳去~   估計(jì)大概是我實(shí)現(xiàn)的原因,記得以前非禮MFC繪圖的時(shí)候,想要實(shí)現(xiàn)類似動(dòng)畫的效果的話,一般做法是: Set個(gè)Timer 然后在On...  閱讀全文
            posted @ 2011-06-09 00:44 ArthasLee 閱讀(2483) | 評(píng)論 (7)編輯 收藏
             

            Q1:為什么程序的數(shù)據(jù)需要放在堆、棧兩個(gè)不同(甚至更多)的地方?

             

            對(duì)于堆和棧中的數(shù)據(jù)內(nèi)容來說:

            棧:編譯器需知道數(shù)據(jù)內(nèi)容的生存周期、但是可以快速管理和分配棧內(nèi)存;

            堆:編譯器無需知道數(shù)據(jù)內(nèi)容的生存周期,保證靈活性、但是分配和回收內(nèi)存不如把數(shù)據(jù)放在棧中來得快;

             

            Q2:對(duì)象在其生命周期結(jié)束后經(jīng)歷什么步驟而后被釋放?銷毀機(jī)制具體是怎樣的?底層通過什么實(shí)現(xiàn)?

             

             

            當(dāng)程序執(zhí)行到一個(gè)塊or作用域(scope)的結(jié)尾,會(huì)自動(dòng)清理其維護(hù)的棧中的內(nèi)存數(shù)據(jù)。

            于是,如果保存在棧中的唯一reference掛掉了,就意味著再?zèng)]有辦法可以操作其原先引用的對(duì)象了。

            但是保存在堆中的對(duì)象在這時(shí)候還沒有被清理掉。

             

             

             

            對(duì)于在堆中,沒有被引用的對(duì)象。垃圾回收器會(huì)直接把他們占據(jù)的內(nèi)存空間釋放掉。

            真的如書中所說,這種機(jī)制滴水不漏嗎?會(huì)不會(huì)有陷阱?

            會(huì)不會(huì)有一些不經(jīng)意的操作導(dǎo)致引用計(jì)數(shù)永遠(yuǎn)不為零,然而用戶卻懵然不知呢?

            內(nèi)存泄漏真的可以在真正意義上得到避免嗎?

             

            Q3:垃圾回收機(jī)制究竟能干什么,不能干什么?究竟本質(zhì)是什么?

             

             

            垃圾回收機(jī)制原來只會(huì)對(duì)new出來的堆內(nèi)存起作用!!!

            萬一不是new出來的,那還是得人工回收……

            1、You might not get garbage collected!

            哎……這樣的垃圾回收機(jī)制啊……

            還真是懶啊……

             

            總之就是,垃圾回收機(jī)制只會(huì)回收對(duì)象在堆中的內(nèi)存,但究竟這個(gè)對(duì)象的操作曾經(jīng)干了什么,有沒有“歷史遺留問題”,java是一概不管的……

             

             

            這個(gè)垃圾回收機(jī)制還是回到回憶中去吧……(我沒吐槽最終幻想,真的沒有!)

             

             

            ClassName obj//局部對(duì)象,放在棧中(C++可以這樣,java不行)

            C++的好處:作用域結(jié)束,局部對(duì)象的destructor自動(dòng)被調(diào)用,釋放棧中內(nèi)存;

             

            New出來的對(duì)象:

            //C++的壞處:不執(zhí)行delete的話,對(duì)象占用的內(nèi)存會(huì)一直賴在堆中。就讓內(nèi)存漏一會(huì)兒吧。

            //java的好處:不用顯式執(zhí)行,只要作用域結(jié)束,reference被清除,垃圾回收器就會(huì)自動(dòng)回收堆中的內(nèi)存;

            而且,java兄還不讓你在棧中創(chuàng)建局部對(duì)象呢……

             

            Q3/1那究竟new操作發(fā)生的時(shí)候,java語言為用戶干了什么?new的操作也會(huì)對(duì)引用計(jì)數(shù)產(chǎn)生作用——例如初始化和創(chuàng)建嗎?垃圾回收器如何工作呢?

             

             

             

            相對(duì)于堆而言,在棧中釋放和分配內(nèi)存還是效率較高。這可能也是一些程序的數(shù)據(jù)放在棧中,一些放在堆中的原因之一吧?

             

             

            引用計(jì)數(shù)類似是一個(gè)對(duì)象中的成員;有東西引用對(duì)象,就增加1,當(dāng)有引用在棧中被釋放或者設(shè)為NULL,就減少1;發(fā)現(xiàn)引用計(jì)數(shù)為0,就證明這個(gè)對(duì)象已經(jīng)沒人要了……

            缺點(diǎn):

            垃圾回收器要掃描整個(gè)對(duì)象列表,查找引用計(jì)數(shù)為0的對(duì)象;

            如果有兩個(gè)對(duì)象碰巧相互引用了彼此,那這兩個(gè)對(duì)象的引用計(jì)數(shù)就用不為零,即使沒人要也不會(huì)被清除掉;

            最悲催的是:

            JVM都不是通過這種機(jī)制實(shí)現(xiàn)垃圾回收滴……

             

             

            JVM是這么干的……

            逆向思維,不找死的,找活的!從一個(gè)引用出發(fā),遍歷其對(duì)象-樹(自己作的)。透過每一個(gè)在棧中或者在靜態(tài)區(qū)中保存的引用,以之為根節(jié)點(diǎn),遍歷由他出發(fā)可以到達(dá)的對(duì)象節(jié)點(diǎn)。

            好處:

            不用遍歷所有堆中的對(duì)象。

            解決兩個(gè)對(duì)象互相引用而導(dǎo)致引用計(jì)數(shù)恒不為0的問題;

             

             

            經(jīng)過上述處理,沒被找到的對(duì)象會(huì)被清理掉,但是會(huì)留下內(nèi)存碎片,浪費(fèi)空間。所以……

            妙!

            把程序停止下來,把活動(dòng)的對(duì)象copy到新的堆內(nèi)存,連續(xù)存放,這樣就騰出了那些原先成為碎片的空間。

             

            然而,一直copycopy去需要有額外的堆內(nèi)存來保存copy的數(shù)據(jù),實(shí)際上copy發(fā)生的時(shí)候需要雙倍于被copy內(nèi)容的堆內(nèi)存同時(shí)可用。

            其次,copy也需要時(shí)空開銷……

            于是……

            JVM就把sweep-and-markstop-and-copy結(jié)合起來(thinking in java有詳述)

            大對(duì)象占用一個(gè)block,每個(gè)block有一個(gè)generation count作為其可用與否的標(biāo)記。

            一些小對(duì)象放在一個(gè)block里;

            根據(jù)引用來遍歷其對(duì)象-樹的操作開始執(zhí)行:

            一般來說,大對(duì)象是不會(huì)被copy的;

            小對(duì)象會(huì)被復(fù)制和重新管理,釋放內(nèi)存碎片;

            JVM在碎片多的時(shí)候進(jìn)行stop-and-copy來整理碎片,騰出空間;在堆內(nèi)存足夠和碎片不多的情況下,則只執(zhí)行sweep-and-mark

             

            在這樣的垃圾回收機(jī)制下,只要是new出來的東西,真的都能回收了。某程度上還真是滴水不漏啊……

             

            顯然是抄IBM大型機(jī)的外存管理嘛!數(shù)據(jù)集放在block中,被刪除的數(shù)據(jù)集的block標(biāo)記為不可用,新建的數(shù)據(jù)集放在后面的block中。當(dāng)存儲(chǔ)空間不夠了,整理那些已經(jīng)存在又可用的數(shù)據(jù)集,存放在一片連續(xù)空間中,把碎片重新整理為可用內(nèi)存,真是……

            抄吧抄吧,不是罪……

             

             

            posted @ 2011-03-04 20:49 ArthasLee 閱讀(825) | 評(píng)論 (1)編輯 收藏
                 摘要: 背景(只是個(gè)人感想,技術(shù)上不對(duì)后面的內(nèi)容構(gòu)成知識(shí)性障礙,可以skip): 最近,基于某些原因和需要,筆者需要去了解一下Crypto++庫,然后對(duì)一些數(shù)據(jù)進(jìn)行一些加密解密的操作。 筆者之前沒接觸過任何加密解密方面的知識(shí)(當(dāng)然,把每個(gè)字符的ASCII值加1之流對(duì)明文進(jìn)行加密的“趣事”還是干過的,當(dāng)時(shí)還很樂在其中。),甚至一開始連Crypto++的名字都沒有聽過,被BS了之后...  閱讀全文
            posted @ 2010-12-01 20:19 ArthasLee 閱讀(48753) | 評(píng)論 (29)編輯 收藏
                 摘要: 續(xù)上文:QQ美女找茬(外掛)學(xué)習(xí)筆記(一)截圖的實(shí)現(xiàn)與保存http://www.shnenglu.com/ArthasLee/archive/2010/11/18/134022.html比較兩幅圖片的不同過程中,筆者直接用了 == 來比較,盡管XOR會(huì)效率高點(diǎn)。以下是筆者的代碼,非完全原創(chuàng),有參考,至于具體URL,在上一篇已經(jīng)跟大家公布過:  1void CZhaoChaV30...  閱讀全文
            posted @ 2010-11-24 00:02 ArthasLee 閱讀(3560) | 評(píng)論 (14)編輯 收藏
                 摘要: 關(guān)于截圖實(shí)現(xiàn)的大致原理可參看以下鏈接: http://student.csdn.net/space.php?uid=110891&do=blog&id=38571第二篇在:http://www.shnenglu.com/ArthasLee/archive/2010/11/24/134432.html#FeedBack 以下,筆者的文章大部分只是自己的學(xué)習(xí)體會(huì)和總結(jié),并不是非常系統(tǒng)...  閱讀全文
            posted @ 2010-11-18 21:17 ArthasLee 閱讀(4588) | 評(píng)論 (4)編輯 收藏
            僅列出標(biāo)題  
            久久93精品国产91久久综合| 精品久久久久久成人AV| 国产99久久精品一区二区| 亚洲精品高清国产一线久久| 97精品伊人久久大香线蕉| 狠狠色丁香婷婷久久综合| 久久久高清免费视频| 波多野结衣久久| 伊人久久大香线焦AV综合影院| 亚洲AV无码久久精品成人| 精品人妻伦九区久久AAA片69| 久久久久久精品成人免费图片| 97久久超碰成人精品网站| 国内精品人妻无码久久久影院| 久久综合精品国产二区无码| 久久国产精品成人免费| 久久www免费人成看国产片| 久久久久久国产a免费观看不卡| 久久se这里只有精品| 日韩中文久久| 亚洲精品国精品久久99热一| 久久99国产精品久久99果冻传媒| Xx性欧美肥妇精品久久久久久| 久久亚洲精品无码观看不卡| 久久婷婷色综合一区二区| 97久久精品人妻人人搡人人玩| 精品久久久久中文字| 久久人人添人人爽添人人片牛牛 | 久久精品99久久香蕉国产色戒| 久久国产精品-国产精品| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲国产视频久久| 久久97精品久久久久久久不卡| 欧美一级久久久久久久大片| 久久久久久国产精品免费无码| 久久久无码精品午夜| 久久精品水蜜桃av综合天堂| 一本一本久久a久久精品综合麻豆| 精品久久久久久无码专区| 亚州日韩精品专区久久久| 国产精品久久成人影院|