• <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年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(3)

            隨筆分類(lèi)

            隨筆檔案

            文章分類(lèi)

            文章檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

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

            老板們到底都在想什么?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            為什么呢?

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

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

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

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

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


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

            老板們到底都在想什么?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            為什么呢?

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

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

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

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

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


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


            筆者在制作一個(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)上不乏好的查找方法,但是為了獲取幾組值而另外寫(xiě)程序,筆者認(rèn)為不夠靈活。
            程序員還是應(yīng)該懶一點(diǎn)~

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

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

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

            標(biāo)尺工具


            接著在圖片左上角的位置開(kāi)始,沿著任意方向拖曳標(biāo)尺工具,就像平時(shí)在windows畫(huà)圖中畫(huà)直線一樣,然后我們會(huì)看到一條很細(xì)的直線被拖出;
            筆者往下垂直拖曳,這除了能夠確定左上角坐標(biāo)之外,還可以測(cè)量出圖片的高度。
            紅色框框里面的灰色線條(兩頭有十字圖案的)就是拖曳出來(lái)的直線標(biāo)尺。
            藍(lán)色框框有幾組值,熟悉windows窗口編程的童鞋們應(yīng)該都可以笑而不語(yǔ)了,筆者不才,還是斗膽解說(shuō)一下:
            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í)說(shuō)白了也是精度問(wèn)題。
            平時(shí)在做windows窗口編程的過(guò)程中,控件的坐標(biāo)總是整數(shù),例如上圖的x = 9.44,要取9還是取10,那就要看我們?cè)谝婚_(kāi)始選點(diǎn)的時(shí)候是否夠貼近真值。
            這里目測(cè)一下(噗!O(∩_∩)O哈哈~),顯然是比真實(shí)圖像稍微偏左了,因此取10,其他值都按照這個(gè)方法處理。


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

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


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

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





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

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

             

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

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

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

             

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

             

             

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

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

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

             

             

             

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

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

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

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

             

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

             

             

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

            萬(wàn)一不是new出來(lái)的,那還是得人工回收……

            1、You might not get garbage collected!

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

            還真是懶啊……

             

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

             

             

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

             

             

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

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

             

            New出來(lái)的對(duì)象:

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

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

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

             

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

             

             

             

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

             

             

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

            缺點(diǎn):

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

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

            最悲催的是:

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

             

             

            JVM是這么干的……

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

            好處:

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

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

             

             

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

            妙!

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

             

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

            其次,copy也需要時(shí)空開(kāi)銷(xiāo)……

            于是……

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

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

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

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

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

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

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

             

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

             

            顯然是抄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 閱讀(838) | 評(píng)論 (1)編輯 收藏
                 摘要: 背景(只是個(gè)人感想,技術(shù)上不對(duì)后面的內(nèi)容構(gòu)成知識(shí)性障礙,可以skip): 最近,基于某些原因和需要,筆者需要去了解一下Crypto++庫(kù),然后對(duì)一些數(shù)據(jù)進(jìn)行一些加密解密的操作。 筆者之前沒(méi)接觸過(guò)任何加密解密方面的知識(shí)(當(dāng)然,把每個(gè)字符的ASCII值加1之流對(duì)明文進(jìn)行加密的“趣事”還是干過(guò)的,當(dāng)時(shí)還很樂(lè)在其中。),甚至一開(kāi)始連Crypto++的名字都沒(méi)有聽(tīng)過(guò),被BS了之后...  閱讀全文
            posted @ 2010-12-01 20:19 ArthasLee 閱讀(48810) | 評(píng)論 (29)編輯 收藏
                 摘要: 續(xù)上文:QQ美女找茬(外掛)學(xué)習(xí)筆記(一)截圖的實(shí)現(xiàn)與保存http://m.shnenglu.com/ArthasLee/archive/2010/11/18/134022.html比較兩幅圖片的不同過(guò)程中,筆者直接用了 == 來(lái)比較,盡管XOR會(huì)效率高點(diǎn)。以下是筆者的代碼,非完全原創(chuàng),有參考,至于具體URL,在上一篇已經(jīng)跟大家公布過(guò):  1void CZhaoChaV30...  閱讀全文
            posted @ 2010-11-24 00:02 ArthasLee 閱讀(3574) | 評(píng)論 (14)編輯 收藏
                 摘要: 關(guān)于截圖實(shí)現(xiàn)的大致原理可參看以下鏈接: http://student.csdn.net/space.php?uid=110891&do=blog&id=38571第二篇在:http://m.shnenglu.com/ArthasLee/archive/2010/11/24/134432.html#FeedBack 以下,筆者的文章大部分只是自己的學(xué)習(xí)體會(huì)和總結(jié),并不是非常系統(tǒng)...  閱讀全文
            posted @ 2010-11-18 21:17 ArthasLee 閱讀(4606) | 評(píng)論 (4)編輯 收藏
            僅列出標(biāo)題  
            麻豆av久久av盛宴av| 日本高清无卡码一区二区久久| 国产91久久综合| 国产精品99久久不卡| 青青草国产精品久久| 99久久亚洲综合精品网站| 亚洲国产精品热久久| 亚洲午夜福利精品久久| 亚洲精品国精品久久99热一| 国产亚洲精品自在久久| 精品久久久久中文字幕一区| 亚洲午夜精品久久久久久浪潮 | 久久SE精品一区二区| 久久成人国产精品免费软件| 久久综合九色综合网站 | 精品国产乱码久久久久久浪潮| 精品国产一区二区三区久久蜜臀| 久久亚洲国产成人精品无码区| 久久亚洲AV无码精品色午夜麻豆| 亚洲国产精品久久电影欧美| 精品久久久久久中文字幕人妻最新| 久久99国产精品99久久| 久久精品免费全国观看国产| 久久高潮一级毛片免费| 伊人久久精品无码av一区| 久久精品久久久久观看99水蜜桃| 久久大香萑太香蕉av| 亚洲AV无码久久精品色欲| 91久久婷婷国产综合精品青草| 精品99久久aaa一级毛片| 亚洲乱码精品久久久久..| 免费观看久久精彩视频| 热久久国产欧美一区二区精品| 久久精品国产精品亚洲精品| 久久天天躁狠狠躁夜夜av浪潮 | 亚洲AV无一区二区三区久久| 久久精品国产亚洲AV影院| 7777精品久久久大香线蕉| 色欲av伊人久久大香线蕉影院| 久久人人爽人人爽人人AV | 丁香久久婷婷国产午夜视频|