<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 72, comments - 66, trackbacks - 0, articles - 0

    2008年7月18日


    sudo vim /etc/vmware/config

    在最下面添加一句話:
    xkeymap.nokeycodeMap = true

    posted @ 2010-06-09 15:39 Fingki.li 閱讀(590) | 評論 (0)編輯 收藏

    在使用Iterator處理Collection時(shí),注意java.util.ConcurrentModificationException。
    1.如果你僅僅是對collection進(jìn)行遍歷查詢,那么不必?fù)?dān)心什么。
    2.但如果你在遍歷過程中要對collection進(jìn)行刪除,那么你就要注意了。
    For example:
    private void testDel() {  
    1.     List<String> list = new ArrayList<String>();  
    2.     for (int i = 0; i < 10; i++) {  
    3.         String str = "td" + i;  
    4.         list.add(str);  
    5.     }  
    6.   
    7.     for (Iterator it = list.iterator(); it.hasNext();) {  
    8.         String str = (String) it.next();  
    9.         if (str.equals("td5")) {  
    10.             // list.remove(str);  // 刪除方法一 
    11.             it.remove();  // 刪除方法二 
    12.         }  
    13.     }  

    上面的代碼運(yùn)行沒有問題,但如果你用“方法一”替代“方法二”,則會(huì)出現(xiàn)java.util.ConcurrentModificationException。
    (用for-each遍歷也會(huì)出個(gè)類似問題)
    具體原因是可以看一下先看看List中的remove方法源碼:
    1. public boolean remove(Object o) {  
    2.     if (o == null) {  
    3.         for (int index = 0; index < size; index++)  
    4.             if (elementData[index] == null) {  
    5.                 fastRemove(index);  
    6.                 return true;  
    7.             }  
    8.     } else {  
    9.         for (int index = 0; index < size; index++)  
    10.             if (o.equals(elementData[index])) {  
    11.                 fastRemove(index);  
    12.                 return true;  
    13.             }  
    14.     }  
    15.     return false;  
    16. }  
    17.   
    18. private void fastRemove(int index) {  
    19.     modCount++; // 特別注意這里,這里只增加了modCount的值  
    20.     int numMoved = size - index - 1;  
    21.     if (numMoved > 0)  
    22.         System.arraycopy(elementData, index + 1, elementData, index,  
    23.                 numMoved);  
    24.     elementData[--size] = null; // Let gc do its work  

    接著看。刪除后得到下一個(gè)元素的代碼,it.next():  it為AbstractList的內(nèi)部類Iterator的一個(gè)實(shí)例。
    1. public E next() {  
    2.     checkForComodification();  
    3.     try {  
    4.         E next = get(cursor);  
    5.         lastRet = cursor++;  
    6.         return next;  
    7.     } catch (IndexOutOfBoundsException e) {  
    8.         checkForComodification();  
    9.         throw new NoSuchElementException();  
    10.     }  
    11. }  
    12.   
    13. final void checkForComodification() {  //注意這個(gè)方法
    14.     if (modCount != expectedModCount)  //檢查這兩個(gè)值是否相同
    15.         throw new ConcurrentModificationException();  

    最后看Iterator的remove()方法的源代碼:
    1. public void remove() {  
    2.     if (lastRet == -1)  
    3.         throw new IllegalStateException();  
    4.     checkForComodification();  
    5.     try {  
    6.         AbstractList.this.remove(lastRet);  
    7.         if (lastRet < cursor)  
    8.             cursor--;  
    9.         lastRet = -1;  
    10.         expectedModCount = modCount; // 設(shè)置expectedModCount  
    11.     } catch (IndexOutOfBoundsException e) {  
    12.         throw new ConcurrentModificationException();  
    13.     }  
    14. }  
    15.   
    16. final void checkForComodification() {  
    17.     if (modCount != expectedModCount)  
    18.         throw new ConcurrentModificationException();  

    這下就明白了,list的remove方法只修改了modCount值,而iterator的remove能同步modCount和expectedModCount.



    posted @ 2010-03-02 12:22 Fingki.li 閱讀(5084) | 評論 (1)編輯 收藏

    Ubuntu 時(shí)區(qū)時(shí)間設(shè)置:
    執(zhí)行
    tzselect(有的版本用tzconfig)
    按照提示進(jìn)行選擇時(shí)區(qū)
    sudo cp /usr/share/zoneinfo/Asia/ShangHai /etc/localtime
    執(zhí)行
    sudo ntpdate cn.pool.ntp.org
    cn.pool.ntp.org是位于中國的公共NTP服務(wù)器,用來同步你的時(shí)間

    時(shí)間
    sudo date

    posted @ 2010-03-02 11:51 Fingki.li 閱讀(466) | 評論 (0)編輯 收藏

    各國語言代碼列表:
    English 1033 1033
    German 1031 1031
    French 1036 1036
    Japanese 1041 1041
    Danish 1030 1030
    Spanish 3082 3082
    Italian 1040 1040
    Dutch 1043 1043
    Norwegian 2068 2068
    Portuguese 2070 2070
    Finnish 1035 1035
    Swedish 1053 1053
    Czech 1029 1029
    Hungarian 1038 1038
    Polish 1045 1045
    Romanian 1048 1048
    Croatian 1050 1050
    Slovak 1051 1051
    Slovene 1060 1060
    Greek 1032 1032
    Bulgarian 1026 1026
    Russian 1049 1049
    Turkish 1055 1055
    British English 2057 1033
    Estonian 1061 1061
    Latvian 1062 1062
    Lithuanian 1063 1063
    Brazilian 1046 1046
    Traditional Chinese 1028 1028
    Korean 1042 1042
    Simplified Chinese 2052 2052
    Arabic 1025 1025
    Thai 1054 1054

    posted @ 2009-12-23 17:33 Fingki.li 閱讀(985) | 評論 (0)編輯 收藏

    記得06年時(shí),看過類似的文章,今又看到了,收藏一下,以備后驗(yàn)!

    ********************************

    讓我來告訴大家為什么房價(jià)這么高,肉價(jià)會(huì)漲得這么厲害 本文以最淺顯得道理闡
    述經(jīng)濟(jì)的原理,進(jìn)而闡述經(jīng)濟(jì)的真相。不會(huì)有任何所謂的學(xué) 術(shù)妓 女們常用來欺
    騙人民的深?yuàn)W的學(xué)術(shù)理論,還事實(shí)以清白,真相只有一個(gè),讓我 們擦亮眼睛,洞
    觀今天發(fā)生的一切。 我不是經(jīng)濟(jì)學(xué)家,但我比經(jīng)濟(jì)學(xué)誠實(shí),本文在以下幾方面闡
    述中國經(jīng)濟(jì)的真相。
        1、什么是經(jīng)濟(jì)發(fā)展?
        2、什么是對外貿(mào)易?
        3、什么是通貨膨脹?
        4、房價(jià)能綁架中國經(jīng)濟(jì)嗎?
        5、房價(jià)和通貨膨脹有關(guān)系嗎?
        6、房價(jià)高漲的原動(dòng)力是什么?
        7、房價(jià)一直漲下去,開發(fā)商會(huì)笑還是會(huì)哭?什么情況下會(huì)笑?什么情況

    下 會(huì)哭?
        8、坐在華爾街辦公室的財(cái)團(tuán)們是如何吸干中國山區(qū)一個(gè)農(nóng)民的血汗的
        9、在有關(guān)這場圍繞房價(jià)和通貨膨脹之間的各方博弈中可能選擇的中庸路

    線   

        1、 什么是經(jīng)濟(jì)發(fā)展?
        簡單的講經(jīng)濟(jì)發(fā)展就是有錢,但錢從何來?錢只能印出來。那么到底是
    什 么使印鈔機(jī)不停的運(yùn)轉(zhuǎn)?
        假設(shè)一個(gè)島上有1000口人,與世隔絕,人與人之間交換物品過活,但有
    時(shí) 候你手里用來交換的東西不一定就是對方想要的,怎么辦?于是人們就用都喜
    歡的 金銀作為交換的東西,于是交換方便了。但金銀要磨損,攜帶也不方便,當(dāng)
    交換活 動(dòng)頻繁時(shí),發(fā)現(xiàn)這個(gè)東西太繁瑣,限制了交換活動(dòng),于是為了解決這個(gè)問
    題,想了 一個(gè)辦法,就是由島上的管理者發(fā)行一種符號,用它來代替金銀,于是
    鈔票出現(xiàn)了 。
        剛開始這種鈔票可以隨時(shí)得兌換金銀。大家都很放心,因?yàn)殁n票就是金
    銀 。可是島上金銀的產(chǎn)量太小,當(dāng)人們的交換活動(dòng)更加頻繁時(shí),鈔票不夠用了,
    只能 暫停交換。暫停交換的后果就是大家不生產(chǎn)別人想要的東西了,因?yàn)殡m然別
    人用, 但交換不出去,套用現(xiàn)在的話說就是經(jīng)濟(jì)發(fā)展減速了。
        于是大家想了一個(gè)辦法,成立一家錢莊,這個(gè)錢莊是大家的,由錢莊來
    發(fā) 行鈔票,印出的鈔票借給想用錢的人,然后這個(gè)人有錢了再還給錢莊。于是銀
    行就 出現(xiàn)了。
        銀行的出現(xiàn),能保證交換活動(dòng)更持續(xù)的進(jìn)行,大家都拼命的生產(chǎn),島上
    的 東西越來越多,銀行根據(jù)產(chǎn)品的生產(chǎn)數(shù)量,不停的印制鈔票,以保證交換能更
    深入 的進(jìn)行。
        后來人們的交換活動(dòng)更頻繁了,一家錢莊太少了,于是出現(xiàn)了很多錢莊
    , 總要有個(gè)管錢莊的吧,于是指定一家錢莊管理其他錢莊,并且鈔票只能由這家
    錢莊 印刷,然后通過其他錢莊借給用錢的人,中央銀行就這么也出現(xiàn)了。   
         2、什么是對外貿(mào)易?
        有一天島上的人發(fā)明了船,于是就到處劃船跑,發(fā)現(xiàn)了另一個(gè)島嶼,那
    上 面也有人,也有鈔票,也像自己島上這么活動(dòng)。但自己島上生產(chǎn)的東西多,那
    個(gè)島 上生產(chǎn)的東西少,1元錢在自己的島上能買1斤大米,那個(gè)島上的一元錢只能
    買半斤 大米,于是另外島上的錢來這個(gè)島上買東西時(shí)只能2元換1元才行。于是匯
    率出現(xiàn)了 。算好匯率后,他們開始互相買賣東西到對方島上,這就是對外貿(mào)易。
    對外貿(mào)易豐 富了人們的生活生產(chǎn)需要,使交換活動(dòng)到了一個(gè)空前的高潮。

        3、什么是通貨膨脹?
        由于島上生產(chǎn)的產(chǎn)品太多了,以至于沒法準(zhǔn)確估計(jì)到底該發(fā)行多少鈔票
    , 發(fā)行多了的時(shí)候,因?yàn)闆]有那么多產(chǎn)品可買,產(chǎn)品就開始漲價(jià),發(fā)行少了呢就
    開始 降價(jià),為了保證價(jià)格穩(wěn)定,央行要求各錢莊要把一部分錢放在央行里面用來
    調(diào)節(jié)產(chǎn) 品的價(jià)格,根據(jù)價(jià)格情況多放和少放。這就是存款準(zhǔn)備金率。
        可是有一部分聰明人開始怎么才能把錢弄到自己手上,他在海邊撿了一
    顆 石子,說這個(gè)石子值100萬快錢,把它賣給了一個(gè)人,這個(gè)人覺得整個(gè)島上的
    錢加一 起也沒有100萬啊,怎么辦,于是向錢莊借,錢莊也沒有這么多錢,于是
    把印鈔機(jī)打 開,印了這100萬,借給了他買了這個(gè)石子。
        然后這個(gè)人開始賣這個(gè)石子,100萬賣給了第二個(gè)人,由于第一個(gè)賣石子
    的 人把錢花了,所以島上的錢多了,所以這一百萬可以籌集到,多買些產(chǎn)品就有
    了。 但當(dāng)把這個(gè)石子以200萬轉(zhuǎn)讓的時(shí)候,錢莊只能又印了100萬鈔票,就這樣鈔
    票越印 越多,可是當(dāng)這個(gè)石子不停的流動(dòng)轉(zhuǎn)讓時(shí),大家并不覺得島上的錢多,產(chǎn)
    品價(jià)格還 是原來的那樣。可是當(dāng)這個(gè)石子不流通或流通的慢時(shí),大家覺得錢多了
    ,可是如果 當(dāng)持有石子的人把它扔到大海里,那就等于島上憑空多出N多個(gè)100
    萬來,怎么辦, 央行最害怕的就是這顆石子沒了。它沒了島上產(chǎn)品的價(jià)格就會(huì)飛
    漲,就會(huì)通貨膨脹 。那么持有石子的人就綁架了島上的經(jīng)濟(jì)。   

        4、房價(jià)能綁架中國經(jīng)濟(jì)嗎?
        中國的房地產(chǎn)已經(jīng)使中國央行發(fā)行了太多的人民幣,如果房價(jià)下降,等
    于 把那顆石子投進(jìn)了海里,那么多印出來的錢會(huì)使中國產(chǎn)品價(jià)格飛漲,會(huì)發(fā)生嚴(yán)
    重的 通貨膨脹。
        看似房價(jià)與石子毫無相干,可是他們的屬性是一樣的,就是價(jià)格和價(jià)值
    嚴(yán) 重的背離。實(shí)際上房地產(chǎn)的崩盤受害最大的并不是中國的商業(yè)銀行,而是整個(gè)
    中國 經(jīng)濟(jì)體系。為什么go-vern-ment遲遲沒有把房價(jià)降下來,不是降不下來,如
    果真想降房價(jià), 只需要一道政令,房地產(chǎn)價(jià)格會(huì)在一夜之間土崩瓦解。可是后果
    誰能承擔(dān),嚴(yán)重通 貨膨脹誰來負(fù)責(zé)?
        房地產(chǎn)業(yè)已經(jīng)綁架了中國的經(jīng)濟(jì),是無可置疑的,是客觀實(shí)在的,沒有
    人 能改變。
        不管誰是總理,廉潔也好,貪污也好,都希望社會(huì)和諧,可這是一個(gè)棘
    手 的問題。

       5、房價(jià)和通貨膨脹有關(guān)系嗎?
        可更棘手的問題還不僅僅在這里。如果降房價(jià),面對的是馬上的通貨膨
    脹 ,可不降房價(jià),那么面對的就是更嚴(yán)重的通貨膨脹,何去何從?
        所以最可靠的辦法就是穩(wěn)定房價(jià),然后在社會(huì)產(chǎn)品增加時(shí),減少貨幣的
    投 放量,加上其他政策如加息、增加商業(yè)銀行準(zhǔn)備金率、縮小信貸規(guī)模等輔助手
    段, 來使中國經(jīng)濟(jì)軟著陸,這是最好的辦法,我們看到的一切政令也是這個(gè)邏輯
    。不信 的話,可以查閱一下近年來go-vern-ment發(fā)布的一系列調(diào)控房地產(chǎn)業(yè)的措
    施。
        可是為什么房價(jià)不穩(wěn)定而且更加的瘋長呢?難道是KFS與go-vern-ment在
    博弈嗎?告 訴你在中國沒有人能和party叫板,幾個(gè)肚子大點(diǎn)的KFS 是沒有這個(gè)
    實(shí)力的。實(shí)際上是 幕后的另一只黑手在和中國go-vern-ment博弈,這支黑手就是
    外資,以美國為代表的帝國主 義攫取中國人民血汗的黑手。   

       6、房價(jià)高漲的原動(dòng)力是什么?
        使房價(jià)上漲的動(dòng)力很多,房價(jià)上漲對其有利的人就是動(dòng)力之一,比如:
    為 了GDP和個(gè)人利益的地方go-vern-ment、為了賺錢的KFS、炒房族、以至于買了
    房的所謂“房 奴”都是是房價(jià)上漲的動(dòng)力,可是最大的原動(dòng)力不是這些,是外資
    ,是美國的以攫 取超額利潤的各大財(cái)團(tuán)。
         KFS作為商人,為了賺取高額利潤不是什么傷天害理的事情,可是各行
    各 業(yè)都有商人,難道想賺就有嗎?那除非是神話。房地產(chǎn)業(yè)的開發(fā)商也一樣,不
    是他 們想賺多少就有多少的。根據(jù)價(jià)值規(guī)律,當(dāng)商品的價(jià)格和價(jià)值嚴(yán)重背離時(shí),
    會(huì)有一 種趨向正常價(jià)格回歸的力量鉗制價(jià)格的上漲,可是在中國的房地產(chǎn)業(yè),這
    種規(guī)律似 乎不起作用,一個(gè)重要的原因是忽視了一個(gè)參考范圍的原因,如果以中
    國經(jīng)濟(jì)本身 而言確實(shí)打破了這個(gè)規(guī)律,可是目前的情況是有一股力量在維持著房
    地產(chǎn)業(yè)的價(jià)格 ,即托市,那么誰在托市呢?
         誰能在房地產(chǎn)業(yè)失控能得到巨額利潤的人就是托市的人。
        討論這個(gè)問題前,現(xiàn)看一下中國的外匯儲(chǔ)備情況。中國的外匯儲(chǔ)備在近
    幾 年迅速由1、2千億突破萬億,并且還在迅速的增長,難道是中國人民奮發(fā)圖強(qiáng)
    ,掙 來的嗎?這個(gè)不需要證明,看中國的GDP增幅就知道,外匯儲(chǔ)備的增長速度
    明顯大于 GDP的增幅。顯然不是掙來的,那么除了掙來的一部分,那么就是所謂
    的 “國際熱 錢”的涌入,而國際熱錢的涌入的目的只有一個(gè),就是要取得高額
    的回報(bào)。
        國際熱錢進(jìn)入中國市場后,首先要兌換成人民幣,那么一下子哪有這么
    多 人民幣呢?只有一個(gè)辦法就是讓印鈔機(jī)沒日沒夜的工作,然后這筆錢用來托住
    已是 燙手山芋的房地產(chǎn)市場,就是拼命的投資房地產(chǎn)業(yè),當(dāng)房地產(chǎn)價(jià)格因背離價(jià)
    值而向 下波動(dòng)時(shí),通過托市再把它抬高,反復(fù)如此,給人的表象就是房產(chǎn)價(jià)格決
    沒有偏離 價(jià)值。導(dǎo)致房價(jià)越漲越高。
        而KFS呢,他們一到房子將要賣不出去的時(shí)候,就有人出高價(jià)買下來,他
    們 怎么會(huì)降價(jià),如果沒有這部分資金在運(yùn)作,別說是KFS聯(lián)盟,就是全國只有一
    個(gè)KFS ,價(jià)格也會(huì)降下來,沒有人買了,難道等房子發(fā)霉嗎?
         那么外資持有這么多高價(jià)房產(chǎn)做什么?不怕砸到手里嗎?
        不怕!為什么呢?在這個(gè)資本運(yùn)作的過程中,有一個(gè)冤大頭在最底下接
    著 呢,是誰呢?就是中國的商業(yè)銀行,由于火爆的房地產(chǎn)市場,一流的流通性,
    近年 來沒有看到任何萎縮的跡象,放了貸款就盈利,為什么不貸款呢?沒有理由
    不放貸 款。
        加之中國老百姓買房的心情,外資可以輕易的把高價(jià)房轉(zhuǎn)嫁到中國的銀
    行 和消費(fèi)者身上,連炒房的農(nóng)民都能賺到一杯羹,職業(yè)的外資會(huì)賠錢嗎?
        那么房價(jià)一直漲下去,會(huì)怎樣呢?請看下一節(jié):“7、房價(jià)一直漲下去,
    開 發(fā)商會(huì)笑還是會(huì)哭?什么情況下會(huì)笑?什么情況下會(huì)哭?”     
    7、房價(jià)一直漲下去,開發(fā)商會(huì)笑還是會(huì)哭?什么情況下會(huì)笑?什么情況下 會(huì)哭

        在中國go-vern-ment近幾年來密集的幾十道金牌的調(diào)控下,房價(jià)還是如
    脫了韁的野 馬一樣狂奔不止。暫且不論何時(shí)能停止上漲的勢頭,畢竟房價(jià)在目前
    還是上漲的, 所以我們就看看房價(jià)上漲不止會(huì)帶來什么。
        首先:由于GDP上漲,中國go-vern-ment為了維持上文說的“保持產(chǎn)品交
    換的繼續(xù)” 要不斷地投放人民幣,即開動(dòng)印鈔機(jī)。只要房地產(chǎn)這個(gè)石子還沒有投
    入到大海里去 ,還有一定的流通性,那么就不會(huì)有通貨膨脹的發(fā)生。
        其次:開發(fā)商會(huì)在這個(gè)過程中也賺取巨大的利潤。
        再次:能看到的是,炒房族會(huì)賺錢、所謂的買房的“房奴”會(huì)增值。
        都賺錢!可是在這個(gè)過程中到底誰虧了呢?錢從哪里來呢?如果你是有
    炒 股的經(jīng)驗(yàn)就會(huì)知道,如果投資價(jià)格和價(jià)值背離的商品,你賺的錢就是別人賠的
    錢, 那么套用到房地產(chǎn)上,就是買房自住的人,現(xiàn)在看似增值,那是鏡中月、水
    中花, 你不變現(xiàn)就不是你的。再有就是當(dāng)價(jià)格完全回歸真實(shí)價(jià)值的時(shí)候,有時(shí)甚
    至?xí)秸?實(shí)價(jià)值一下,被高價(jià)房套住的投資者。還有一個(gè)就是開發(fā)商!
        為什么說開發(fā)商也有賠錢呢?大家知道商人的本性是賺錢,賺取利潤。
    如 果一個(gè)商人投機(jī)一次就永遠(yuǎn)都不做這個(gè)生意了,他是賺錢了,可他不是商人,
    這種 商業(yè)行為沒有意義。由于商人的本性,所以賺來的錢會(huì)繼續(xù)擴(kuò)大再生產(chǎn),在
    能賺錢 的領(lǐng)域不斷的加大投資。這個(gè)道理從生活中就可看出來,越是做大生意的
    人總喊沒 錢,因?yàn)橐蟮牧鲃?dòng)資金來維持其擴(kuò)大再生產(chǎn)的需要。
        所以一旦房價(jià)回歸真實(shí)的價(jià)值之時(shí),就是有一大批開發(fā)商崩潰之日。這
    個(gè) 是不以任何人的意志和任何行為為轉(zhuǎn)移的。如果現(xiàn)在有開發(fā)商逃離房地產(chǎn)業(yè)的
    角斗 場,那么跑得慢的就是最后的輸家。如果都不跑,就像擊鼓傳花一樣,最后
    拿到接 力棒的就是接盤者。有句話叫:“出來混遲早是要還的”。也許只不過是
    方式不一 樣,看誰的運(yùn)氣好而已。
        可是現(xiàn)在卻沒有任何的KFS賠錢的跡象,有的是KFS不斷的賺錢,老百姓
    送 錢都來不及。只是因?yàn)槟壳胺績r(jià)還在上漲,房產(chǎn)還在不斷的流動(dòng)。
        一個(gè)巨大的問題來了,這樣不斷上漲的房價(jià)何時(shí)是個(gè)頭啊,請看下一節(jié)
    : “8、坐在華爾街辦公室的財(cái)團(tuán)們是如何吸干中國山區(qū)一個(gè)農(nóng)民的血汗的”

        8、坐在華爾街辦公室的財(cái)團(tuán)們是如何吸干中國山區(qū)一個(gè)農(nóng)民的血汗的
         Mao.ZD說過:“帝國主義沒有睡大覺,而是天天在蠢蠢欲動(dòng),在圖謀不軌
    , 想達(dá)到他們的罪惡目的。誠然他們的氣焰的確沒有以前那么囂張,但他們確實(shí)在
    活動(dòng) 著。”是不是冷戰(zhàn)結(jié)束就代表著人類的和平得以實(shí)現(xiàn)呢?“一句上帝面前人
    人平等 ”就能掩蓋帝國主義噬血的本質(zhì)嗎?人人平等的理念是對的,但它只不過
    是帝國主 義用來欺騙人們的伎倆罷了,說到和做到永遠(yuǎn)是兩碼事。
        國際財(cái)團(tuán)通過國際熱錢涌入中國,使人民幣加大發(fā)行量,然后通過房地
    產(chǎn) 炒作,把中國的國內(nèi)價(jià)格水平無限制的提高,GDP的增長又一次使人民幣的發(fā)
    行量被 迫提高。國際財(cái)團(tuán)心黑手狠,雙管齊下,目的就是使中國經(jīng)濟(jì)熱到燙手,
    熱到讓每 個(gè)中國人為之瘋狂。
        我們暫不去關(guān)心這個(gè)過程,我們放眼未來,看看這一過程的結(jié)果是什么
    樣 呢?換句話說財(cái)團(tuán)的目的是什么呢?
        很明顯,中國人最不愿意看到的事情,就是財(cái)團(tuán)們最樂見的結(jié)果。先做
    個(gè) 假設(shè),比如國際熱錢在投資的中國房地產(chǎn)領(lǐng)域里上演最后的瘋狂后,然后把房
    產(chǎn)成 功解套全部變現(xiàn),如果此時(shí)人民幣兌美元的匯率達(dá)到美國預(yù)期最高時(shí),匯率
    是熱錢 逃離時(shí)需要相乘的那個(gè)倍數(shù),會(huì)發(fā)生什么誰都能想到,所有熱錢會(huì)一夜之
    間全部兌 換美元逃離。財(cái)團(tuán)們會(huì)賺得溝滿壕平,中國市場上除了錢就是錢,能遮
    住天的大把 人民幣將成為中國人民的噩夢。
        這是中國人最不愿意看到的事情,也是財(cái)團(tuán)最樂見的結(jié)果。近期美國不
    斷 的通過政治、貿(mào)易等手段逼迫人民幣升值,而中國go-vern-ment遲遲不升值或
    小范圍的升值 ,遠(yuǎn)遠(yuǎn)沒有達(dá)到美國go-vern-ment的預(yù)期,這是在出口處的中美之
    間的博弈。美國逼迫人民 幣升值的狼子野心昭然若揭!
        順便提一句,如果真的這個(gè)升值預(yù)期達(dá)到了,中國樓市將重演日本上世
    紀(jì) 90年代崩盤的歷史。只是那時(shí)中國經(jīng)濟(jì)也會(huì)像日本一樣進(jìn)入一個(gè)連續(xù)低迷不振
    的不 歸路。
        在這種攸關(guān)民族生存的問題上,go-vern-ment會(huì)坐視不管嗎?就算是退
    一步來講, 一個(gè)完全不負(fù)責(zé)任的go-vern-ment遇到這種情況,因?yàn)檫@個(gè)資本運(yùn)作
    同時(shí)也極大侵犯了go-vern-ment 的利益,也會(huì)拼命反搏的。
        那么中國go-vern-ment會(huì)以什么樣的方式來化解這一“經(jīng)濟(jì)危機(jī)”呢?
    請看下一節(jié) :“在有關(guān)這場圍繞房價(jià)和通貨膨脹之間的各方博弈中可能選擇的中
    庸路線”。

      9、在有關(guān)這場圍繞房價(jià)和通貨膨脹之間的各方博弈中可能選擇的中庸路線
        我一直相信:物極必反,中庸,是老祖宗留給后人解決棘手問題的殺手
    锏 !
        既然是中國房地產(chǎn)“綁架”了中國的經(jīng)濟(jì),那么我們就從“綁架”說起
    。 何為“綁架”,應(yīng)該是相對弱的一方,拿著相對強(qiáng)的一方的“要害”,使相對
    強(qiáng)的 一方即便有能力對付弱的一方,但礙于投鼠忌器,無力可施。
        我們先來看看綁架雙方的陣容和各自手上的籌碼。房地產(chǎn)業(yè)的主體是KFS
    , 所以KFS算一方,它綁架的要害是中國經(jīng)濟(jì),那中國經(jīng)濟(jì)是誰的要害呢?是中
    國人民 的要害,代表中國人民的,目前只能是中國go-vern-ment。中國go-vern
    -ment算一方。外資呢?它是 煽風(fēng)點(diǎn)火者,劃到KFS一方。中國go-vern-ment一方
    有公權(quán)力,可以通過稅收、財(cái)政、經(jīng)濟(jì)政 策、行政手段對KFS陣營施力,KFS陣營
    通過源源不斷的后備資金來綁架中國經(jīng)濟(jì), 且不斷的提高贖金。
        問題已經(jīng)擺在這里,怎么辦呢?沖上去一槍擊斃,那歹徒非撕票不可,
    太 極端不可行。所以有為go-vern-ment開出藥方,只要實(shí)現(xiàn)了某某一條既可降低
    房價(jià)的主意, 就猶如這一槍擊斃一樣是不可行的。我們想象如何解救綁架事件的
    ,首先要穩(wěn)定住 對方的情緒,再一步步地靠近,但這種靠近雖會(huì)引起歹徒的敵意
    ,但不會(huì)導(dǎo)致他撕 票,然后再進(jìn)一步穩(wěn)定情緒,再靠近,然后條件成熟時(shí),再穩(wěn)
    準(zhǔn)狠,即保證人質(zhì)的 安全,又要保證歹徒一舉拿下。這才是真正的營救。
        所以中庸才是解決棘手問題的殺手锏。極端、盲目、冒進(jìn)是要不得的。
        針對如何解決中國房地產(chǎn)市場的綁架問題,就要圍繞問題的關(guān)鍵部分一
    步 步地施加反作用力,然后一舉成功,才是正道。
        第一個(gè)關(guān)鍵的部分就是匯率,中國go-vern-ment會(huì)嚴(yán)把匯率關(guān),我們可
    以預(yù)期的是 ,人民幣兌滅元的匯率決不會(huì)過快升值,但會(huì)小幅升值,就是要穩(wěn)定
    對方的情緒, 如果一點(diǎn)不升,對方會(huì)狗急跳墻,如果升的過快,是給自己掘墓,
    所以為什么中國 匯率升幅總是猶抱琵琶半遮面,看看美國go-vern- ment的態(tài)度
    跟一個(gè)綁匪是多么的 貼切,我要一瓶果汁,為什么拿來半瓶水。可又說不出什么
    來,畢竟還能暫時(shí)解渴 。
        第二個(gè)關(guān)鍵是限制資產(chǎn)流動(dòng)性,既然房地產(chǎn)能綁架中國經(jīng)濟(jì),說明它舉
    足 輕重,限制房產(chǎn)的流通性,就可以限制資產(chǎn)的流動(dòng)性,注意這里是兩個(gè)概念,
    “資 產(chǎn)流動(dòng)性”和“房產(chǎn)流通性”。兩者完全不同,但又息息相關(guān)。房產(chǎn)流通性
    減弱, 資產(chǎn)流動(dòng)性減弱,那么需要印刷的人民幣就減少。就像那個(gè)石子,不流通
    馬上通脹 ,不漲價(jià)流通沒問題,可是行不通,外資也不同意。既然是不斷的上漲
    價(jià)格,只能 一步步地限制房產(chǎn)流通,只要房產(chǎn)流通性少一點(diǎn),通脹就會(huì)顯現(xiàn)一點(diǎn)
    ,然后再通過 上調(diào)準(zhǔn)備金率和加息等柔性政策來調(diào)整一點(diǎn),用柳葉棉絲掌來化解
    泰森的一記重拳 ,以綿柔克強(qiáng)剛、化千鈞于無形,這就是中國go-vern-ment的策
    略(這好像是中國人最擅長 的事情)。我們從官方媒體就能看到相關(guān)的消息,樓
    市簽約率在下降,即流通性在 下降,然后物價(jià)開始有所漲幅,如豬肉等副食產(chǎn)品
    ,但央行馬上上調(diào)準(zhǔn)備金率和加 息,來穩(wěn)定物價(jià)。不知各位看官是否也看出些端
    倪。可預(yù)期的是,到完全化解危機(jī) 之前,會(huì)不斷地加息和調(diào)高準(zhǔn)備金率,同時(shí)房
    產(chǎn)流通性會(huì)越來越弱,這個(gè)預(yù)言是否 準(zhǔn)確可在以后的央行政策上驗(yàn)證。等完全消
    除了由于經(jīng)濟(jì)過熱導(dǎo)致的通貨膨脹預(yù)期 ,那么就是房地產(chǎn)價(jià)格回歸真實(shí)價(jià)值之時(shí)

        不管你看到?jīng)]看到,這已是最后的瘋狂,我們從兩方面來分析:
        第一,如果這場博弈以外資勝利而告終,那么中國經(jīng)濟(jì)將步日本90年代
    持 續(xù)下滑的深淵,由于外資撤走,房市賴以生存的支柱坍塌,房價(jià)會(huì)一落千丈,
    可到 時(shí)候不管是KFS還是老百姓都將承受經(jīng)濟(jì)下滑之苦,持有的貨幣迅速貶值,
    即便房價(jià) 落下,也不一定買的起。這是中國go-vern-ment和中國人民不可接受的
    ,也是無法接受的。
        第二,如果外資以失敗而告終,即在匯率上把住出口,讓房價(jià)回歸真實(shí)
    價(jià) 值,把外資同樣套在中國,這才是勝利的前提。那么以美國財(cái)團(tuán)為首的帝國主
    義噬 血者必將瘋狂報(bào)復(fù),會(huì)在投資、出口等各方面對中國施加壓力。我們今天人
    民幣升 值沒有達(dá)到美國預(yù)期,已經(jīng)導(dǎo)致中國出口到美國的產(chǎn)品受打壓,進(jìn)而引起
    了眾多的 貿(mào)易摩擦,由此可見一斑。我們知道,經(jīng)濟(jì)發(fā)展的三套馬車是,投資、
    出口和消費(fèi) ,在投資、出口領(lǐng)域遭到報(bào)復(fù)會(huì)影響中國經(jīng)濟(jì)的發(fā)展,但我相信不會(huì)
    影響我們的發(fā) 展速度,別忘了還有一套馬車是“消費(fèi)”,房價(jià)下降后,如果你是
    愛國者,請現(xiàn)在 保護(hù)好你的錢包,到時(shí)千萬別羞羞答答,要果斷地出手買房,中
    國經(jīng)濟(jì)會(huì)在消費(fèi)領(lǐng) 域異軍突起,繼續(xù)獨(dú)占世界經(jīng)濟(jì)引擎的鰲頭。

    posted @ 2009-12-18 15:55 Fingki.li 閱讀(527) | 評論 (0)編輯 收藏

    看了這篇文章,真的讓我無語了。。。

    *****************************************以下轉(zhuǎn)載*********************************************

    昨晚,和一個(gè)開典當(dāng)行的同學(xué)喝酒。
    我問同學(xué),“你買了多少套房子,多少間鋪面?”

    “房子22套,鋪面12間。”同學(xué)炫耀似的答道。

    “那你花了多少錢呢?”同學(xué)雖然是千萬級的富翁,但他也不至于能把千萬多的錢壓在固定資產(chǎn)上吧!我心中默算了一下,非常懷疑!
    現(xiàn)在買房子,傻瓜才掏錢!虧你還是個(gè)生意人!”同學(xué)鄙視的看著我。

    同學(xué)的話,簡直令我震耳欲聾,使我目瞪口呆。我連忙虛心請教。于是,同學(xué)就對我說出一番匪夷所思、驚世駭俗的話來......以下,都是我同學(xué)的話,雖然詞句有些出入,但基本語意我還是轉(zhuǎn)述清楚了的。


    一、買房不掏錢,你是怎么操作的?

    同學(xué)的話——
    你知道,我的典當(dāng)生意完全是靠錢生錢。第一次買房時(shí),雖然我有能力一次性付清全款,但我還是不愿意那么多的現(xiàn)金被房子壓死。那時(shí),正流行“零首付”,于是,我一分錢沒花,貸款18萬買了房(貸款期限為一年)。

    一年期滿,要還房款和利息了。也不知道是我幸運(yùn)呢?還是我倒霉!那時(shí),我的資金被一筆業(yè)務(wù)占用了。為了業(yè)務(wù),我不僅還不起房款不說,還得另外新增貸款。迫 不得已,我找老關(guān)系——銀行的信貸部經(jīng)理溝兌。當(dāng)我吞吞吐吐的把“延期還房款并另外新增貸款”的要求說出來后,沒想到,信貸經(jīng)理卻詭秘的一笑,非常爽快的 答應(yīng)了。

    信貸經(jīng)理給我出的主意很簡單:讓我老婆,以兩倍的價(jià)格,貸款買我的房子,貸款期限也是一年。
    “兩倍的貸款,那就是兩倍的利息啊!你這不是變著方的剝削我嗎?”我還沒有反應(yīng)過來。
    “如果到時(shí),你不還款呢?”信貸經(jīng)理很鎮(zhèn)定。
    “啊......”
    “被銀行收房,沒有什么大不了的!關(guān)鍵是除去稅費(fèi)后,我還憑空白得了17萬。不,這17萬我可不能一個(gè)人得,我至少要分給他5萬。”很快,我反應(yīng)過來。于是,我對信貸經(jīng)理會(huì)心的一笑......
    這,就是我第一次買房的經(jīng)歷。

    我后來的買房經(jīng)歷都與此類似,也就是:堅(jiān)決的不掏一分錢,全部用銀行的貸款買房子;然后,如果遇見不明真象的投資者(說是投資者,其實(shí)是傻帽)買房,那就 高價(jià)賣給他。如果一直沒有投資者買房,那就不斷的把自己的房子加價(jià)轉(zhuǎn)貸給自己,不斷的用銀行的錢來還銀行的債。

    并且,我是開典當(dāng)行的,與銀行的關(guān)系是一般人無法比的。一般老百姓買房,大都選擇20年按揭,而我買房從來都是只貸款一年,到期了才還本金和利息。這樣操作,不用交月供。而貸款到期后,我只須做做“紙面文章”轉(zhuǎn)貸款一下。實(shí)際上,我一分錢也不用掏。


    二、我不信,在實(shí)際生活中能有如此荒謬的事情。你講的是“童話”吧!

    同學(xué)的話:兄弟!我是看你人對,才給你講這些掏心窩的話。你怎么可以不相信我呢?你要怎樣才能相信我呢?
    作者發(fā)言:你就給我講點(diǎn)實(shí)際的例子吧!
    同學(xué)的話:你知道王二麻子是怎么發(fā)家的嗎?
    作者發(fā)言:“那你說說。”王二麻子是我的另外一個(gè)同學(xué),現(xiàn)在是開發(fā)房地產(chǎn)的億萬級富翁。
    同學(xué)的話——

    那我就說說。

    想當(dāng)年,王二麻子那個(gè)落魄啊!就連他注冊公司的注冊資金,也是我臨時(shí)拆借給他的。如今,別看王二麻子表面風(fēng)光,他拿地的錢,是從銀行貸款的;修房子的錢,是建筑商墊資的。總之,他就是一個(gè)完全的“空手道”。

    房子修好后,王二麻子在正式開盤前,通常要舉行一個(gè)“內(nèi)部認(rèn)購會(huì)”。這個(gè)內(nèi)部認(rèn)購,其實(shí)就是王二麻子召集公司內(nèi)部員工和一些象我這樣的、相熟的炒房客(或 者干脆是一些從招聘會(huì)上收集的、眾多的、應(yīng)聘者的“身份證復(fù)印件”),以這些人的名義來買房子,全部用銀行貸款來買。這,就是所謂的“開發(fā)商囤房”。

    并且,此次交易上報(bào)給銀行的交易價(jià),必須比實(shí)際的內(nèi)部交易價(jià)提高30%。為什么?因?yàn)橘J款買房要首付兩成啊!舉個(gè)例子,如果你想收回100萬,那你就必須 以130萬的房價(jià)向銀行貸款。這樣,銀行給你的錢就是:130萬×0.8=104萬;你實(shí)際裝進(jìn)口袋的錢就是:104萬—4萬(給相關(guān)銀行人員的“好處費(fèi) ”)=100萬。

    就這樣,通過開盤前的內(nèi)部認(rèn)購,王二麻子其實(shí)已經(jīng)成功的全部收回了投資,把所有的風(fēng)險(xiǎn)轉(zhuǎn)給了銀行。到這時(shí),王二麻子才會(huì)開始打廣告賣房子,并歸還“買地的銀行貸款”和“修房子的建筑商墊資”。


    作者發(fā)言:后面又怎么操作呢?

    同學(xué)的話——

    你怎么那樣笨啊!稍微聰明一點(diǎn)的人都能想到,后面的操作方法,其實(shí)與我炒房的方法是一樣的,也就是:“如果遇見不明真象的投資者(說是投資者,其實(shí)是傻 帽)買房,那就高價(jià)賣給他;如果一直沒有投資者買房,那就不斷的把自己的房子加價(jià)轉(zhuǎn)貸給自己,不斷的用銀行的錢來還銀行的債。”

    不過,由于已經(jīng)收回了按揭貸款的首付款,所以后面的操作并不需要每一次都加價(jià)30%,只需按著樓市房價(jià)本來的上漲幅度加價(jià)就可以了(即每年上漲14%左右)。

    什么?萬一房價(jià)上漲幅度不足于支付貸款利息怎么辦?笑話,你什么時(shí)候看見過中國樓市的房價(jià)上漲幅度低于當(dāng)年的貸款利息了?

    明白了吧!這,就是中國樓市的房價(jià)只能上漲不能下跌;并且,房價(jià)的上漲幅度還不能低于當(dāng)年貸款利息的真正原因!!
    想想就覺得可笑,居然有學(xué)者說,“建筑成本和地價(jià)的不斷上漲,是房價(jià)飛漲的原因。”這簡直是扯蛋! 其實(shí),“金融成本”才是房價(jià)構(gòu)成的大頭,至少要占目前房價(jià)的50%。

    以上海倒塌的蓮花河畔景苑為例。網(wǎng)上公布,其樓面價(jià)格不到604元/平方米,建筑成本也不到1300元/平方米(其實(shí),網(wǎng)上公布的建筑成本并不準(zhǔn)確。市法 院電梯公寓的建筑質(zhì)量總該比它好吧,建筑成本也沒有超過1000元/平方米)這么便宜的房子,開發(fā)商為什么非得要把它賣到14000元/平方米呢?賣低一 點(diǎn)、少賺一點(diǎn)不行嗎?答案是不行的。原因很簡單,“金融游戲”是有成本的,每這樣操作一次,房子就必須加價(jià)一次。只有不斷的加價(jià),上述操作才有生存的空 間。所以,蓮花河畔景苑前年賣7000元/平方米,去年賣10000元/平方米,今年就得非要賣14000元/平方米。俗話說“豆腐盤成了肉價(jià)錢”。這, 就是“金融游戲”的代價(jià)!

    有句話道出了目前中國樓市的實(shí)情,“房子是用來炒的,不是用來住的;商品房是賣給銀行的,不是賣給老百姓的。”
    老同學(xué),請你想一想,現(xiàn)在的樓市,房價(jià)明明已經(jīng)遠(yuǎn)遠(yuǎn)的超過了老百姓的實(shí)際購買能力(也就意味著房子永遠(yuǎn)賣不出去),為什么房價(jià)還會(huì)不斷的上漲呢?并且,還要“量、價(jià)齊漲”呢?原因何在?正在于此!


    三、你講的,只是極個(gè)別的現(xiàn)象,不能代表中國樓市的整體形勢。

    同學(xué)的話——

    老同學(xué),你太孤陋寡聞了吧。請看:

    李樹彪案:1999年9月8日到2004年1月15日,湖南郴州市住房公積金管理中心原主任李樹彪騙取公積金貸款、銀行貸款共計(jì)44筆,涉案金額1.2億元。

    康明案:2000年前后,河南鄭州康明置業(yè)有限公司通過東明花園414套房源,在工商銀行、交通銀行、建設(shè)銀行、招商銀行進(jìn)行重復(fù)抵押貸款共690多套,至少套取銀行資金2億元。

    姚康達(dá)案:從2002年至2003年上半年,中國工商銀行上海外高橋保稅區(qū)支行向“姚康達(dá)”一人發(fā)放房貸7141萬元,用于炒作128套住房。

    森豪虛假按揭案:從1997年年至2002年上半年,北京市華運(yùn)達(dá)房地產(chǎn)開發(fā)公司以森豪公寓、太利花園為幌子,采取假按揭的方式,向中行北京市分行、北京 銀行中關(guān)村支行、北京銀行展覽路支行三家銀行騙貸共計(jì)16.2億元。(請看《京城最大假按揭騙貸案震醒房市》 http://finance.people.com.cn/GB/1045/9255894.html)

    建行廣州分行案:2002年,審計(jì)署抽查建設(shè)銀行廣州地區(qū)八家支行的住房按揭貸款,發(fā)現(xiàn)10億元虛假按揭。僅廣東省汕尾市公安局某副局長一人,即騙取建行廣州市芳村支行按揭貸款3793萬元。

    曲滬平案:2006年,上海浦東發(fā)展銀行陸家嘴支行在已發(fā)放貸款中,發(fā)現(xiàn)1.26億元個(gè)人房產(chǎn)按揭貸款存在抵押不實(shí),貸款代理人為“曲滬平 ”。其后更查出與曲相關(guān)的房貸高達(dá)91筆,涉及金額4億元左右。銀行不得不委托房屋中介公司出售抵押房產(chǎn),以回收問題貸款。

    同泰案:2006年,北京同泰房地產(chǎn)公司涉嫌利用87份假業(yè)主所簽購房合同,從銀行騙貸6700萬元。

    成都虛構(gòu)房產(chǎn)騙貸案:2005年至2008年期間,犯罪嫌疑人唐某勾結(jié)成都市房管局工作人員以虛構(gòu)房產(chǎn)的方式辦理房產(chǎn)證進(jìn)行騙貸。現(xiàn)已發(fā)現(xiàn)的涉案房產(chǎn)證已超過一百多套,涉及金額近二千萬元!而且事態(tài)還在進(jìn)一步發(fā)展中。

    另外,今年銀監(jiān)會(huì)三令五申的明確要求,“貸款發(fā)放必須用于滿足實(shí)體經(jīng)濟(jì)的有效信貸需求,防止信貸資金流入樓市”。然而,40000億資金依然流入樓市......

    老同學(xué),請你想一想,為什么會(huì)發(fā)生那么多的這類事情呢?為什么全國的銀行都明知道是假按揭也要把錢貸給地產(chǎn)商呢?難道銀行的官員們都是傻子嗎?

    其實(shí),銀行的官員們一點(diǎn)都不傻。

    原因在于,銀行內(nèi)部人員與開發(fā)商其實(shí)是狼狽為奸的同伙。參與這項(xiàng)操作的某些銀行內(nèi)部人員決不是希望通過購房者支付貸款利息為銀行賺錢,坦白地說,他們是在 參與分贓——他們與開發(fā)商一起盜取不義之財(cái),將風(fēng)險(xiǎn)轉(zhuǎn)嫁給國家銀行,而買單的是真實(shí)的購房者。一旦真實(shí)的購房者無法買下這個(gè)巨單,銀行就出現(xiàn)危機(jī)。 

    這時(shí)候,買單的就是全國人民了,國家必須銀行注資,消除爛帳。國家的錢哪里來?印鈔票!結(jié)果是什么?通貨膨脹,物價(jià)飛漲,老百性的錢不值錢 了,或者說老百姓的錢被搶了,被誰搶了?被國家搶去堵漏了,堵開發(fā)商和銀行某些蛀出來的大洞。這個(gè)洞如此之大,堵住了也是一個(gè)丑陋的疤,而疼的永遠(yuǎn)是百 姓。

    所以我會(huì)說——房地產(chǎn)業(yè)已經(jīng)成為相關(guān)單位、相關(guān)部門團(tuán)結(jié)起來瓜分國家金錢(其實(shí)是老百姓的存款)的道具。
    違規(guī)又有什么大不了的?銀行官員們不怕啊!只要表面的紙上手續(xù)完備了,我就沒有了責(zé)任。即使按揭貸款是假的,又有什么關(guān)系?況且銀行有國家這 個(gè)后臺(tái),就是虧了也不怕,反正銀行的官員們現(xiàn)在掙了錢就行。至于銀行以后不行了,自然有國家來管,況且那是下屆銀行官員的事情。難怪中國銀行的壞賬率居然 在40%以上!原來,在中國,最大的腐敗在銀行!!


    四、我依然認(rèn)為,這只是極個(gè)別的現(xiàn)象。如果你講的是普遍的現(xiàn)象,為什么還沒有開發(fā)商被收樓呢?

    同學(xué)的話——

    原因有許多,簡單的有:

    1、你不關(guān)心房地產(chǎn)界的新聞。比如“曲滬平案”,上海浦東發(fā)展銀行陸家嘴支行就收了樓,不得不成為了“房東”;

    2、由于開發(fā)商在銀行內(nèi)部的同伙,掩護(hù)工作做的好的緣故,案子沒暴。

    掩護(hù)工作怎么做?很簡單——只要一近債務(wù)償還期,開發(fā)商就會(huì)和“銀行內(nèi)部的同伙”們一起,把房子又一次加價(jià)賣給(轉(zhuǎn)按揭)其它的“身份證復(fù)印件”(其實(shí),房子依然在開發(fā)商手里)。這樣操作,開發(fā)商永遠(yuǎn)不會(huì)被收樓。

    雖然這樣操作,房價(jià)會(huì)不斷的上漲,并很快的遠(yuǎn)遠(yuǎn)超過老百姓的實(shí)際承受能力(也就意味著房子永遠(yuǎn)賣不出去)。但是,這樣的操作,如果只從官樣程 序上來看、只從表面的紙上手續(xù)來看的話,它是永遠(yuǎn)合法的。這就是銀行官員們敢于給開發(fā)商打掩護(hù)的原因——因?yàn)橐阅壳暗你y行制度來說,只要表面的紙上手續(xù)完 備了,銀行的官員就沒有了責(zé)任。


    五、你的意思是,目前的銀行貸款制度有著嚴(yán)重的漏洞?

    同學(xué)的話——

    當(dāng)然!

    我能不花錢的買那么多的房子和鋪面,甚至還靠房子從銀行套出那么多的周轉(zhuǎn)資金做生意,這一切,全都得感謝銀行的制度漏洞啊!銀行的貸款制度,真的是“為人民服務(wù)的好制度”啊!

    作為一個(gè)典當(dāng)行的老板,以同行的眼光來看,我認(rèn)為銀行貸款的制度漏洞有:

    1、抵押物價(jià)值的評定方法有缺陷。

    比如,明明開發(fā)商拿地只用了5000萬,他卻可以用這塊地抵押貸款1個(gè)億;比如,開發(fā)商修樓修到蓋頂,明明只用了7000萬(含地錢),他卻可以用這個(gè)樓抵押貸款2個(gè)億。

    如果,按照我們典當(dāng)行的規(guī)矩來辦,事情又會(huì)怎樣呢?

    當(dāng)開發(fā)商用這塊地抵押貸款時(shí),我會(huì)親自去核實(shí):開發(fā)商拿這塊地,是否真的給了政府5000萬。并且,如果這個(gè)情況屬實(shí),他也最多只能貸款4000萬。因?yàn)槲乙A(yù)提風(fēng)險(xiǎn)基金啊!

    當(dāng)開發(fā)商用這個(gè)樓抵押貸款時(shí),我也會(huì)親自去核實(shí):開發(fā)商修這個(gè)樓,是否真的花了2000萬(只算建筑成本,不含地)。我會(huì)按照各種人工、各種建筑材料的最 低價(jià)來核算這個(gè)樓的建筑成本。并且,如果開發(fā)商修這個(gè)樓的確花了2000萬,他也最多只能貸款7000萬×0.8=5600萬(連地一起抵押)。

    最后,當(dāng)購房者按揭貸款時(shí),我絕對不可能按照“購房合同交易價(jià)”來發(fā)放貸款,購房者最多能獲得的貸款金額是:7000萬×0.8×購房面積/此樓總面積。

    舉個(gè)例子:有個(gè)賣衣服的商人因?yàn)樯庵苻D(zhuǎn),需要以衣服為抵押物向銀行貸款。你說說,銀行是該“按照衣服出廠價(jià)的8折”給他貸款呢?還是該“按照衣服零售價(jià)的8折”給他貸款。

    作者發(fā)言:當(dāng)然該按出廠價(jià)算。如果按照零售價(jià)算的話,賣衣服的商人干脆不用開店了,他直接把衣服賣給銀行賺錢更快!恩,我明白了,怪不得在中國會(huì)出現(xiàn)“房子是用來炒的,不是用來住的;商品房是賣給銀行的,不是賣給老百姓的”這樣的奇聞!!!

    同學(xué)的話:是啊!抵押房的價(jià)值,不能由客戶之間的交易來決定啊!!

    2、責(zé)任追究方法有缺陷

    “只要表面的紙上手續(xù)完備了,銀行官員就沒有了責(zé)任。”這怎么可以呢?在我的典當(dāng)行,我可不管你的紙上手續(xù)是否已經(jīng)完備,只要是你負(fù)責(zé)的業(yè)務(wù)出了問題,嘿嘿!我就找你算帳!!!

    另外,讓國家損失16.2億的森豪虛假按揭案暴露后,相關(guān)的銀行官員居然沒有被追究責(zé)任,這怎么可以呢?嘿嘿!如果這樣的事是發(fā)生在我的典當(dāng)行,不要說讓他家破人亡,我至少會(huì)讓他和他的親戚傾家蕩產(chǎn)!!!

    作者發(fā)言:是啊!發(fā)生金融案件后,居然不追究相關(guān)銀行官員的責(zé)任。換成是我,我也覺得“打馬虎”比盡忠職守更合算!!!怪不得中國的金融案件層出不窮。聽 君一席話,勝讀十年書!聽你說到這兒,就連我這么笨的人也知道了應(yīng)該如何理順樓市——只要嚴(yán)格金融制度,讓炒房的人不能獲得投機(jī)的資金,樓市的泡沫自然的 就會(huì)散去!!

    同學(xué)的話——

    你終于聰明了一回。可惜!!!

    posted @ 2009-12-14 14:21 Fingki.li 閱讀(418) | 評論 (1)編輯 收藏

    Error info:
    E:Dynamic MMap ran out of room. Please increase the size of APT::Cache-Limit. Current value: 25165824. (man 5 apt.conf), E:Dynamic ...

    Reason: sources.list is wrong. (/etc/apt/sources.list)

    For example: the ubuntu 9.04 with the sources.list of the ubuntu 8.10, the error will be there.

    Others cases:
    Error :Synaptic Package Manager
    Error info:
    E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
    E:_cache->open() failed, please report.

    please run 'dpkg --configure -a'.

    posted @ 2009-11-23 15:57 Fingki.li 閱讀(1234) | 評論 (0)編輯 收藏

         摘要: 轉(zhuǎn)載:請每一個(gè)孝順的子女耐心的看下去!  閱讀全文

    posted @ 2009-11-03 15:04 Fingki.li 閱讀(307) | 評論 (0)編輯 收藏

         摘要: 要理解IOC,推薦: 看《墨攻》理解IoC概念。
    IOC從字面來看不容易懂,但如果你看了這篇文章,相信你一定會(huì)懂。
    佩服原作者!  閱讀全文

    posted @ 2009-08-13 10:34 Fingki.li 閱讀(1367) | 評論 (1)編輯 收藏

         摘要:   閱讀全文

    posted @ 2009-08-11 17:38 Fingki.li 閱讀(12089) | 評論 (6)編輯 收藏

    對于parseInt("01")到parseInt("07");都能得到正確的結(jié)果,但如果是parseInt("08") 或parseInt("09")則返回0;
    首先看parseInt語法:parseInt(string, radix);
    其中string為要轉(zhuǎn)換的字符串,radix為二進(jìn)制,八進(jìn)制,十六進(jìn)制或十進(jìn)制。
    在默認(rèn)不指定radix時(shí),當(dāng)以0x開關(guān)時(shí),為十六進(jìn)制;如果以0開關(guān)且第二位不為x,則讓為是八進(jìn)制,(因?yàn)榘诉M(jìn)制不能有8,9所以報(bào)錯(cuò)返回0)。
    所以,在我們用時(shí)還是明確指定進(jìn)位制,以防出錯(cuò)。
    如我們平時(shí)都用十進(jìn)制位,我們就 parseInt("08", 10);

    posted @ 2009-07-31 15:53 Fingki.li 閱讀(3584) | 評論 (4)編輯 收藏

         摘要: vsftpd 有關(guān)錯(cuò)誤 500 OOPS: vsftpd: refusing to run with writable anonymous root   閱讀全文

    posted @ 2009-07-13 10:58 Fingki.li 閱讀(11574) | 評論 (5)編輯 收藏

         摘要: Linux下application中文顯示為方塊問題的解決  閱讀全文

    posted @ 2009-07-06 10:27 Fingki.li 閱讀(1703) | 評論 (0)編輯 收藏

         摘要: jquery css hover  閱讀全文

    posted @ 2009-05-21 10:51 Fingki.li 閱讀(3771) | 評論 (0)編輯 收藏

    DWR 2.0.5,
    方法使用對象參數(shù)時(shí)報(bào)錯(cuò)如下:
    Erroring: batchId[0] message[org.directwebremoting.extend.MarshallException: Error marshalling test.User:

    一個(gè)最可能的原因是 User沒有一個(gè)無參的construction。

    暈。。。
    朋友們注意呀!

    posted @ 2009-04-23 15:23 Fingki.li 閱讀(1460) | 評論 (0)編輯 收藏

    對于以太網(wǎng)環(huán)境下UDP傳輸中的數(shù)據(jù)包長度問題

    首先要看TCP/IP協(xié)議,涉及到四層:鏈路層,網(wǎng)絡(luò)層,傳輸層,應(yīng)用層。
    其中以太網(wǎng)(Ethernet)的數(shù)據(jù)幀在鏈路層
    IP包在網(wǎng)絡(luò)層
    TCP或UDP包在傳輸層
    TCP或UDP中的數(shù)據(jù)(Data)在應(yīng)用層
    它們的關(guān)系是 數(shù)據(jù)幀{IP包{TCP或UDP包{Data}}}
    在應(yīng)用程序中我們用到的Data的長度最大是多少,直接取決于底層的限制。
    我們從下到上分析一下:
    在鏈路層,由以太網(wǎng)的物理特性決定了數(shù)據(jù)幀的長度為(46+18)-(1500+18),其中的18是數(shù)據(jù)幀的頭和尾,也就是說數(shù)據(jù)幀的內(nèi)容最大為1500,即MTU(Maximum Transmission Unit)為1500;
    在網(wǎng)絡(luò)層,因?yàn)镮P包的首部要占用20字節(jié),所以這的MTU為1500-20=1480;
    在傳輸層,對于UDP包的首部要占用8字節(jié),所以這的MTU為1480-8=1472;
    所以,在應(yīng)用層,你的Data最大長度為1472。
    (當(dāng)我們的UDP包中的數(shù)據(jù)多于MTU(1472)時(shí),發(fā)送方的IP層需要分片fragmentation進(jìn)行傳輸,而在接收方IP層則需要進(jìn)行數(shù)據(jù)報(bào)重組,由于UDP是不可靠的傳輸協(xié)議,如果分片丟失導(dǎo)致重組失敗,將導(dǎo)致UDP數(shù)據(jù)包被丟棄)。
    從上面的分析來看,在普通的局域網(wǎng)環(huán)境下,UDP的數(shù)據(jù)最大為1472字節(jié)最好(避免分片重組)。
    但在網(wǎng)絡(luò)編程中,Internet中的路由器可能有設(shè)置成不同的值(小于默認(rèn)值),Internet上的標(biāo)準(zhǔn)MTU值為576,所以Internet的UDP編程時(shí)數(shù)據(jù)長度最好在576-20-8=548字節(jié)以內(nèi)。
    MTU對我們的UDP編程很重要,那如何查看路由的MTU值呢?
    對于windows OS: ping -f -l <data_length> <gateway_IP>
    如:ping -f -l 1472 192.168.0.1
    如果提示:Packets needs to be fragmented but DF set.
    則表明MTU小于1500,不斷改小data_length值,可以最終測算出gateway的MTU值;
    對于linux OS: ping -c <number> -M do -s <data_length> <gateway_IP>
    如: ping -c 1 -M do -s 1472 192.168.0.1
    如果提示 Frag needed and DF set……
    則表明MTU小于1500,可以再測以推算gateway的MTU。
    當(dāng)然要修改MTU的值,那就是網(wǎng)管的事了(一般人沒這權(quán)限呀),我們只能申請加等待了 ^-^ .

    posted @ 2009-04-10 16:35 Fingki.li 閱讀(2415) | 評論 (0)編輯 收藏

    從JDK5開始就已經(jīng)增加了對VM的監(jiān)控功能jconsole,JDK1.6也有了進(jìn)一步的改進(jìn)。
    然而對linux特別是Ubuntu用戶來說,會(huì)碰到一些小問題。
    在終端進(jìn)入java_home/bin目錄下,
    # jconsole
    結(jié)果報(bào)錯(cuò)如下:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

    原因就是在ubuntu下用java寫Swing應(yīng)用程序時(shí)不能使用SystemLookAndFeel
    實(shí)際上出現(xiàn)這個(gè)問題是因?yàn)閟wing的默認(rèn)laf采用systemlaf,而Ubuntu里卻沒有定義這個(gè)laf。
    一種很方便的解決方法就是把語言環(huán)境改成英文:
    # export LANG=en
    但對中文用戶很不方便(盡管swing程序可以運(yùn)行)。
    另一種方法就是程序啟動(dòng)時(shí)加上jvm運(yùn)行時(shí)參數(shù),比如 運(yùn)行jconsole :
    # jconsole -J-Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel

    另外,jconsole對于hostname也有要求,如果執(zhí)行:
    # hostname -i
    顯時(shí) 127.0.0.1,則需要在 /etc/hosts中把127.0.0.1改成機(jī)器的外網(wǎng)IP。
    這下,我們就又多了一個(gè)jvm分析的利器。

    posted @ 2009-03-24 11:45 Fingki.li 閱讀(6281) | 評論 (2)編輯 收藏

    Kraken plugin as IM gateway is developed separately from openfire.
    It is built alongside openfire.
    Kraken build Detail:http://kraken.blathersource.org/node/9
    But I still encountered this problem when I did that.
    When I run the step:ant release,I found the following error,although BUILD SUCCESS,
    Error:
      [jasper2] 409  DEBUG No Java compiler available
      [jasper2] java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/env/INameEnvironment

    NoClassDefFound,obviously,there is no class named 'INameEnvironment',
    I run 'find ./ -name jdt*' ,there is nothing really.
    I know that it need a jar named 'jdt-compiler' via google,so I download it.
    If you can find it to download you can come the following site:
    http://fisheye1.atlassian.com/viewrep/springframework/spring/lib/jdt     or
    http://softwarelivre.sapo.pt/projects/ptpos/browser/openbravopos/trunk/build/zip/lib/jdt-compiler-3.1.1.jar?rev=35
    I get jdt-compiler-3.1.1.jar from the site mentioned above,and put it into the java lib directory;
    then,add a line :<pathelement location="${java.home}/../lib/jdt-compiler-3.1.1.jar"/> in classpath of taskdef named 'jasper2' in the build.xml of Openfire
    So far so good ,I have fixed it.

    posted @ 2009-03-05 17:47 Fingki.li 閱讀(1580) | 評論 (0)編輯 收藏

    PEM : Privacy Enhanced Mail 隱私增強(qiáng)郵件
          是使用多種加密方式提供機(jī)密性、認(rèn)證、信息完整性的因特網(wǎng)電子郵件,在因特網(wǎng)中沒有被廣泛配置;
          而現(xiàn)在更多的是用作密鑰格式,并且可包含私鑰(RSA和DSA)、公鑰(RSA和DSA)、X509證書,它存儲(chǔ)ASCII包裝的BASE64編碼的DER數(shù)據(jù),適用于系統(tǒng)之間的文本模式傳輸。

    DER : Distinguished Encoding Rules 分布式編碼規(guī)則
          也可包含私鑰、公鑰和證書,它是大多數(shù)瀏覽器的默認(rèn)證書格式,并且按ASN 1 DER 格式存儲(chǔ)進(jìn)行存儲(chǔ)。(它沒有頭部-PEM是有文本頭部包裝的DER)。

    VoIP : Voice over Internet Protocol 網(wǎng)絡(luò)語音傳輸

    SIP : Session Initiation Protocol 會(huì)話發(fā)起協(xié)議

    posted @ 2009-03-04 15:42 Fingki.li 閱讀(261) | 評論 (0)編輯 收藏

    經(jīng)過漫長的配置,終于搞定了windows AD、domain和Exchange2007,
    新建了帳戶后,用戶 fingki 密碼 ************** 郵件 fingki@mydomain.com 在另一臺(tái)win xp上測試。
    這里要注意DNS的配置,且要打開服務(wù) services,確定pop3等郵件服務(wù)都已經(jīng)啟動(dòng)。
    首先加入該域 mydomain.com
    然后 重啟,用fingki登錄該域,一切還算順利。
    再 測試郵件收發(fā),啟動(dòng)Outlook,用fingki@mydomain.com新建一outlook帳戶,郵件服務(wù)器用戶名 fingki密碼************;其他的是默認(rèn)配置。
    測試給administrator@mydomain.com發(fā)一封郵件,正常,然后再給自己發(fā)一封;
    接收郵件時(shí),提示:由于服務(wù)器拒絕接受發(fā)件人的電子郵件地址,這封郵件無法發(fā)送。...服務(wù)器響應(yīng): '530 5.7.1 Client was not authenticated', 端口: 25, 安全(SSL): 否, 服務(wù)器錯(cuò)誤: 530, 錯(cuò)誤號: 0x800CCC78.
    奇怪。
    后來發(fā)現(xiàn),原來exchange2007默認(rèn)是采用ssl安全傳輸?shù)模枰獙?pop3設(shè)置安全連接,端口會(huì)默認(rèn)變?yōu)?95。(即選中:“此服務(wù)器要求安全連接SSL”)。
    按上面要求 設(shè)置pop3為SSL連接。接收郵件就正常了。
    (網(wǎng)上也有朋友說是DNS的MX記錄丟失,但顯然我的不屬于這種情況)。
    另外,很有意思的是如果你為Exchange用戶設(shè)定多個(gè)電子郵件地址(當(dāng)然只會(huì)有一個(gè)為默認(rèn)郵件地址,或叫主地址),當(dāng)有人給你向這多個(gè)地址中發(fā)送郵件時(shí),這些郵件都會(huì)發(fā)到你的主地址郵箱中。

    posted @ 2009-02-27 11:05 Fingki.li 閱讀(10529) | 評論 (3)編輯 收藏

    View cpu information command:
    1 # dmesg | grep CPU
    2 # cat /proc/cpuinfo

    you can find the following from the show :AMD Athlon(tm) 64 X2 Dual Core Processor 4000+
    It tell you :64bit cpu

    View OS version:
    # cat /proc/version
    you can see information similar to the following:
    Linux version 2.6.24-21-generic (buildd@palmer) (gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) #1 SMP Tue Oct 21 23:43:45 UTC 2008

    View OS bit num:
    # getconf LONG_BIT
    you can see :32 or 64.


    posted @ 2009-02-26 10:42 Fingki.li 閱讀(349) | 評論 (0)編輯 收藏

         摘要: If you install im gateway plugin firstly, perhaps you did not encounter this problem.
    If you upgrade your im gateway plugin, perhaps you have been in trouble.
    Unfortunately,I encountered this problem some days ago.
    I used the openfire 3.4.5, and it contains the gateway plugins;  閱讀全文

    posted @ 2009-02-25 16:58 Fingki.li 閱讀(1788) | 評論 (0)編輯 收藏

         摘要: sudoer application Launcher
    On Ubuntu,run applications as sudo via Application Launcher  閱讀全文

    posted @ 2009-02-23 12:33 Fingki.li 閱讀(1318) | 評論 (0)編輯 收藏

    JSCalendar 日歷控件 使用樣例如下:

    <html>
    <head>
        <style type="text/css">@import url( /js/jscalendar/calendar-win2k-cold-1.css );</style>
        <script type="text/javascript" src="/js/jscalendar/calendar.js"></script>
        <script type="text/javascript" src="/js/jscalendar/i18n.jsp"></script>//不用i18n可以指定語言 如:<script type="text/javascript" src="/js/jscalendar/lang/calendar-en.js"></script>
        <script type="text/javascript" src="/js/jscalendar/calendar-setup.js"></script>
    </head>
    <body>
    <input type="text" size="10" name="fromDate" id="fromDate" maxlength="10" onchange="checkSpecific();" value=""/>
    <img src="images/icon_calendarpicker.gif" id="fromDateCal" />
    <br>
    <script type="text/javascript" >
        Calendar.setup(
        {
            inputField  : "fromDate",       // ID of the input field
            ifFormat    : "%m/%d/%Y",       // the date format
            button      : "fromDateCal",    // ID of the button
        });
    </script>
    </body>
    </html>
    上述示例代碼在jsp容器中運(yùn)行完全正常。

    posted @ 2009-02-17 15:35 Fingki.li 閱讀(2723) | 評論 (10)編輯 收藏

    當(dāng)一個(gè)類實(shí)現(xiàn)了序列化接口,有時(shí)會(huì)遇到 java.io.InvalidClassException 異常出現(xiàn):
    java.io.InvalidClassException: com.test.Test; local class incompatible: stream classdesc serialVersionUID = 7981560250804078637, local class serialVersionUID = -8334405535174160822
    這是序列化兼容性所致;
    java通過一個(gè)名為UID(stream unique identifier)來控制,這個(gè)UID是隱式的,它通過類名,方法名等諸多因素經(jīng)過計(jì)算而得,理論上是一一映射的關(guān)系,也就是唯一的。如果UID不一 樣的話,就無法實(shí)現(xiàn)反序列化了,并且將會(huì)得到InvalidClassException。
    當(dāng)要人為的產(chǎn)生一個(gè)新的版本(實(shí)現(xiàn)并沒有改動(dòng)),而拋棄以前的版本的話,可以通過顯式的聲名UID來實(shí)現(xiàn):
    private static final long serialVersionUID=????;//(你可以編造一個(gè)UID,但不能有重復(fù))

    對于上例我們可以在com.test.Test類中加入 :
    private static final long serialVersionUID=7981560250804078637l;
    這樣就解決了新老版本的兼容性問題。
    當(dāng)然,對于序列化還有很多問題,慢慢研究吧。

    posted @ 2009-01-13 11:46 Fingki.li 閱讀(17590) | 評論 (3)編輯 收藏

    對volatile,看到了個(gè)很清楚的解釋,摘錄下來如下:

    volatile關(guān)鍵字有什么用?
    恐怕比較一下volatile和synchronized的不同是最容易解釋清楚的。volatile是變量修飾符,而synchronized則作用于一段代碼或方法;看如下三句get代碼:

    1. inti1;              intgeti1(){returni1;}
    2. volatile inti2;              intgeti2(){returni2;}
    3.          int i3; synchronizedintgeti3(){returni3;}

      geti1()得到存儲(chǔ)在當(dāng)前線程中i1的數(shù)值。多個(gè)線程有多個(gè)i1變量拷貝,而且這些i1之間可以互不相同。換句話說,另一個(gè)線程可能已經(jīng)改 變了它線程內(nèi)的i1值,而這個(gè)值可以和當(dāng)前線程中的i1值不相同。事實(shí)上,Java有個(gè)思想叫“主”內(nèi)存區(qū)域,這里存放了變量目前的“準(zhǔn)確值”。每個(gè)線程 可以有它自己的變量拷貝,而這個(gè)變量拷貝值可以和“主”內(nèi)存區(qū)域里存放的不同。因此實(shí)際上存在一種可能:“主”內(nèi)存區(qū)域里的i1值是1,線程1里的i1值 是2,線程2里的i1值是3——這在線程1和線程2都改變了它們各自的i1值,而且這個(gè)改變還沒來得及傳遞給“主”內(nèi)存區(qū)域或其他線程時(shí)就會(huì)發(fā)生。
    而geti2()得到的是“主”內(nèi)存區(qū)域的i2數(shù)值。用volatile修飾后的變量不允許有不同于“主”內(nèi)存區(qū)域的變量拷貝。換句話說,一個(gè)變量經(jīng) volatile修飾后在所有線程中必須是同步的;任何線程中改變了它的值,所有其他線程立即獲取到了相同的值。理所當(dāng)然的,volatile修飾的變量 存取時(shí)比一般變量消耗的資源要多一點(diǎn),因?yàn)榫€程有它自己的變量拷貝更為高效。
    既然volatile關(guān)鍵字已經(jīng)實(shí)現(xiàn)了線程間數(shù)據(jù)同步,又要synchronized干什么呢?呵呵,它們之間有兩點(diǎn)不同。首 先,synchronized獲得并釋放監(jiān)視器——如果兩個(gè)線程使用了同一個(gè)對象鎖,監(jiān)視器能強(qiáng)制保證代碼塊同時(shí)只被一個(gè)線程所執(zhí)行——這是眾所周知的事 實(shí)。但是,synchronized也同步內(nèi)存:事實(shí)上,synchronized在“主”內(nèi)存區(qū)域同步整個(gè)線程的內(nèi)存。因此,執(zhí)行g(shù)eti3()方法做 了如下幾步:
    1. 線程請求獲得監(jiān)視this對象的對象鎖(假設(shè)未被鎖,否則線程等待直到鎖釋放)
    2. 線程內(nèi)存的數(shù)據(jù)被消除,從“主”內(nèi)存區(qū)域中讀入(Java虛擬機(jī)能優(yōu)化此步。。。[后面的不知道怎么表達(dá),汗])
    3. 代碼塊被執(zhí)行
    4. 對于變量的任何改變現(xiàn)在可以安全地寫到“主”內(nèi)存區(qū)域中(不過geti3()方法不會(huì)改變變量值)
    5. 線程釋放監(jiān)視this對象的對象鎖
    因此volatile只是在線程內(nèi)存和“主”內(nèi)存間同步某個(gè)變量的值,而synchronized通過鎖定和解鎖某個(gè)監(jiān)視器同步所有變量的值。顯然synchronized要比volatile消耗更多資源。

    附英文原文:
    What does volatile do?

    This is probably best explained by comparing the effects that volatile and synchronized have on a method. volatile is a field modifier, while synchronized modifies code blocks and methods. So we can specify three variations of a simple accessor using those two keywords:

    1. inti1;              intgeti1(){returni1;}
    2. volatile inti2;              intgeti2(){returni2;}
    3.          int i3; synchronizedintgeti3(){returni3;}

    geti1() accesses the value currently stored in i1 in the current thread. Threads can have local copies of variables, and the data does not have to be the same as the data held in other threads. In particular, another thread may have updated i1 in it’s thread, but the value in the current thread could be different from that updated value. In fact Java has the idea of a “main” memory, and this is the memory that holds the current “correct” value for variables. Threads can have their own copy of data for variables, and the thread copy can be different from the “main” memory. So in fact, it is possible for the “main” memory to have a value of 1 for i1, for thread1 to have a value of 2 for i1 and for thread2 to have a value of 3 for i1 if thread1 and thread2 have both updated i1 but those updated value has not yet been propagated to “main” memory or other threads.

    On the other hand, geti2() effectively accesses the value of i2 from “main” memory. A volatile variable is not allowed to have a local copy of a variable that is different from the value currently held in “main” memory. Effectively, a variable declared volatile must have it’s data synchronized across all threads, so that whenever you access or update the variable in any thread, all other threads immediately see the same value. Of course, it is likely that volatile variables have a higher access and update overhead than “plain” variables, since the reason threads can have their own copy of data is for better efficiency.

    Well if volatile already synchronizes data across threads, what is synchronized for? Well there are two differences. Firstly synchronized obtains and releases locks on monitors which can force only one thread at a time to execute a code block, if both threads use the same monitor (effectively the same object lock). That’s the fairly well known aspect to synchronized. But synchronized also synchronizes memory. In fact synchronized synchronizes the whole of thread memory with “main” memory. So executing geti3() does the following:

    1. The thread acquires the lock on the monitor for object this (assuming the monitor is unlocked, otherwise the thread waits until the monitor is unlocked).
    2. The thread memory flushes all its variables, i.e. it has all of its variables effectively read from “main” memory (JVMs can use dirty sets to optimize this so that only “dirty” variables are flushed, but conceptually this is the same. See section 17.9 of the Java language specification).
    3. The code block is executed (in this case setting the return value to the current value of i3, which may have just been reset from “main” memory).
    4. (Any changes to variables would normally now be written out to “main” memory, but for geti3() we have no changes.)
    5. The thread releases the lock on the monitor for object this.

    So where volatile only synchronizes the value of one variable between thread memory and “main” memory, synchronized synchronizes the value of all variables between thread memory and “main” memory, and locks and releases a monitor to boot. Clearly synchronized is likely to have more overhead than volatile.

    摘自:http://bianbian.org/technology/java/88.html

    posted @ 2009-01-06 15:24 Fingki.li 閱讀(402) | 評論 (0)編輯 收藏

    有synthetic標(biāo)記的field和method是class內(nèi)部使用的,正常的源代碼里不會(huì)出現(xiàn)synthetic field。小穎編譯工具用的就是jad.所有反編譯工具都不能保證完全正確地反編譯class。所以你不能要求太多。
    下面我給大家介紹一下synthetic

    下面的例子是最常見的synthetic field
    class parent
    {
    public void foo()
    {
    }
    class inner
    {
    inner()
    {
    foo();
    }
    }
    }
    非static的inner class里面都會(huì)有一個(gè)this$0的字段保存它的父對象。編譯后的inner class 就像下面這樣:
    class parent$inner
    {
    synthetic parent this$0;
    parent$inner(parent this$0)
    {
    this.this$0 = this$0;
    this$0.foo();
    }
    }
    所有父對象的非私有成員都通過 this$0來訪問。

    還有許多用到synthetic的地方。比如使用了assert 關(guān)鍵字的class會(huì)有一個(gè)
    synthetic static boolean $assertionsDisabled 字段
    使用了assert的地方
    assert condition;
    在class里被編譯成
    if(!$assertionsDisabled && !condition)
    {
    throw new AssertionError();
    }

    還有,在jvm里,所有class的私有成員都不允許在其他類里訪問,包括它的inner class。在java語言里inner class是可以訪問父類的私有成員的。在class里是用如下的方法實(shí)現(xiàn)的:
    class parent
    {
    private int value = 0;
    synthetic static int access$000(parent obj)
    {
    return value;
    }
    }
    在inner class里通過access$000來訪問value字段。

    摘自:
    http://www.cjsdn.net/post/print?bid=1&id=130784

    posted @ 2009-01-06 12:24 Fingki.li 閱讀(3465) | 評論 (0)編輯 收藏

    相關(guān)資料:
    IETF : http://www.potaroo.net/ietf/idref/draft-nourse-scep/
    Java SCEP : http://www.urut.ch/scep/
    OpenSCEP : http://openscep.othello.ch/

    posted @ 2009-01-04 14:25 Fingki.li 閱讀(335) | 評論 (0)編輯 收藏

    一朋友推薦給我的文章,感覺很不錯(cuò);摘抄過來,也給同行們提個(gè)醒!

    論壇里經(jīng)常可以看到關(guān)于 35 歲程序員的生涯詢問, 他們之中有些人寫了十年代碼, 有些人則是因?yàn)閷幊贪l(fā)生了興趣, 中途轉(zhuǎn)行, 以下四點(diǎn)是給那些 30 - 35 歲程序員的建議:

    * 照顧自己健康

    以前, 我認(rèn)為 "錢" 是很重要的, 俗話說的好: "錢不是萬能, 但沒有錢萬萬不能", 所以過去我的焦點(diǎn)都是放在收入, 但后來我發(fā)現(xiàn)有比錢更重要的東西, 那是 "家", 在你沒有結(jié)婚前, 這個(gè)家的概念是指你和父母的和諧關(guān)系, 而在結(jié)婚后, 家的概念是指如何維系一個(gè)家庭, 包括和太太還有孩子的關(guān)系。

    在 IT 這個(gè)行業(yè)里, 很多人跟自己父母的想法是有差距的, 認(rèn)為上一代保守, 食古不化, 講到很多東西沒法溝通, 另外, 我的很多朋友事業(yè)做很大, 但最后卻離婚了, 沒有孩子還好, 有孩子的要想更多, 只有家, 你才有奮斗的目標(biāo), 才有精神的支持, 否則就像電視里講的那一句, 失去了你, 得到江山又如何?

    但這個(gè)家的信念自從張國榮事件后, 又改變了我的看法, 那就是有比家更重要的東西, 那是你的 "健康", 這個(gè)健康包括生理和心理上的健康, 想想看你擁有了一個(gè)家, 但是因?yàn)闆]有健康, 全家人都被拖下去了, 每天看著你痛苦的吊瓶子, 更嚴(yán)重的直接輕生, 這樣遺留給珍愛你的人只是更大的痛苦, 你會(huì) C, C++, C#, Java... 又怎樣? 那時(shí)候你會(huì)認(rèn)為這些通通都是屁, 做人做到能夠 "吃得下飯、睡得著覺、笑得出來" 就已經(jīng)是莫大的幸福。

    35 歲會(huì)困惑的人多半是因?yàn)槎畮讱q的時(shí)候就沒有做好準(zhǔn)備, 過去的已經(jīng)不可追, 現(xiàn)在要想的應(yīng)該是 45 歲怎么辦? 有人說年輕比的是學(xué)問, 中年比的是財(cái)富, 老年比的是健康, 如果你現(xiàn)在不注意自己健康, 那么很快更大的困擾就會(huì)上門了, 人生每個(gè)階段都有扮演的角色, 要學(xué)會(huì)未雨綢繆, 否則不用到 50 歲, 可能 40 歲就會(huì)開始后悔了, 健康要從飲食和運(yùn)動(dòng)著手, 多涉獵這方面的常識(shí), 比搞那些過幾年就要淘汰的技術(shù)有意義多了。

    * 學(xué)會(huì)投資理財(cái)

    很多人認(rèn)為投資理財(cái)需要很多的錢, 這是不正確的, 會(huì)理財(cái)?shù)娜? 小錢可以積累到大, 不會(huì)理財(cái)?shù)娜? 大錢也會(huì)消耗到光, 投資理財(cái)首重的是風(fēng)險(xiǎn)管理, 沒有風(fēng)險(xiǎn)管理就像在刀口舔血一樣, 投資理財(cái)應(yīng)該要趁早磨練, 不要等到 40 歲的時(shí)候才去冒險(xiǎn), 因?yàn)槟菚r(shí)候你已經(jīng)沒有本錢跌倒, 投資理財(cái)?shù)姆椒ㄓ泻芏? 并不是只有房地產(chǎn), 股票這些東西, 從節(jié)約, 儲(chǔ)蓄, 定存... 每一步都是學(xué)習(xí), 關(guān)鍵是你要從投資的過程里去發(fā)現(xiàn)自己, 并且了解如何正確對待甚至對付自己, 這樣你才有機(jī)會(huì)早一日達(dá)到經(jīng)濟(jì)自由, 不會(huì)提心吊膽這個(gè)那個(gè)。

    投資理財(cái)要量力而為, 不要做超過你能力所能負(fù)荷的事情, 我給程序員最好的建議是關(guān)注經(jīng)濟(jì), 不要浮躁, 錯(cuò)把投機(jī)當(dāng)投資, 這樣還不如定存來得可靠安全。

    * 經(jīng)營你的人脈

    我覺得程序員除了普遍不善理財(cái)外, 另外人際溝通也多有問題, 很多人在離開公司的剎那, 整個(gè)人感覺也都被掏空了, 而且會(huì)有一種擔(dān)憂, 以前別人跟我說話那是因?yàn)槲沂悄衬彻镜膯T工, 現(xiàn)在不是了, 可能就沒有什么人會(huì)再鳥我了, 這就是典型的人脈經(jīng)營危機(jī)。

    人脈的經(jīng)營不是看你有沒有朋友, 而是有沒有能幫助你同時(shí)又有實(shí)力的朋友。有些人朋友很多, 但真正遇到困難, 只能精神上支持一下, 除此外, 幫不上任何忙, 這代表人脈還是太單薄, 不要總問別人能給你什么? 也要問問你能給別人什么? 懂得去欣賞別人, 而不要像患了紅眼病一樣, 漠視別人背后的辛勞的付出, 只知道妒忌表面的風(fēng)頭, 這樣, 只會(huì)將自己的路越走越窄。

    經(jīng)營自己的人脈是有秘訣的, 首先你要了解自己存在的價(jià)值, 如果沒有存在的價(jià)值, 那么經(jīng)營的人脈是空的, 這跟有存在價(jià)值卻不知道怎樣經(jīng)營人脈, 基本上差不多, 經(jīng)營人脈并不等于趨炎附勢, 而是指在得勢的時(shí)候, 就要想到落難的時(shí)刻, 待人寬厚真誠, 花無百日好, 人無千日紅, 多欣賞別人, 擇友深交, 別把時(shí)間浪費(fèi)在小屁孩身上。

    * 培養(yǎng)廣泛興趣

    一個(gè)程序員如果除了 IT 以外, 一點(diǎn)其它的興趣也沒有, 那真的是很危險(xiǎn)的事情, 像我現(xiàn)在年齡已經(jīng)超過 35 歲了, 很快就要 40, 但我現(xiàn)在還是每天寫代碼, 做項(xiàng)目已經(jīng)不是為了維生, 而是純粹興趣了, 我想我會(huì)一直寫下去, 同時(shí)開始加強(qiáng)自己經(jīng)營管理或財(cái)務(wù)方面的知識(shí)。你說郭安定以后玩不了電腦怎么辦? 他就去寫書, 萬一雙手廢了怎么辦? 那就去配音, 萬一聲音也啞了怎么辦? 那就重回金融市場, 讓徒子徒孫幫忙著下單, 眼球看左就買, 看右就賣, 就這么一直玩下去...

    所以人生不是只有一條路, 你得為自己想好方方面面, 而廣泛的興趣可以幫助你跳脫現(xiàn)況, 看到更多。

    以上四點(diǎn)不僅是 35 歲的人要注意的, 很多甚至二十幾歲的人也要開始關(guān)注, 說真的, 很多程序員看上去每個(gè)體型都不錯(cuò), 但體格都馬馬虎虎, 很多人熬個(gè)兩天夜就不行了, 不知該說什么... 一起加油吧。

    posted @ 2008-12-26 14:59 Fingki.li 閱讀(301) | 評論 (1)編輯 收藏

    Tsung,壓力測試的好工具。
    安裝過程:
    1.獲取tsung 的源碼。http://tsung.erlang-projects.org/
    2.安裝依賴 erlang(從源碼編譯 erlang 寫的程序) gnuplot perl5(如果想看 report 中的圖形,就要裝這個(gè))
    apt-get install erlang erlang-src gnuplot perl5 我用的是Ubuntu 8 OS.
    3.編譯安裝
    ./configure
    make
    sudo make install

    安裝完成之后的 tsung 運(yùn)行腳本在 /usr/bin/tsung ,在系統(tǒng) path 之中,可以直接運(yùn)行。

    設(shè)置

    從 /usr/share/doc/tsung/examples 中挑一兩個(gè)例子拷貝到 ~/.tsung/tsung.xml 作為配置文件。我只需要 http 測試,所以:

    cp /usr/share/doc/tsung/examples/http_simple.xml ~/.tsung/tsung.xml

    tsung 采用了巧妙的 proxy 方式來“錄制”測試腳本。具體來說,就是建立一個(gè)本機(jī)的 http proxy 默認(rèn)使用 8090 端口,在配好 firefox 使用 localhost 8090 作為代理之后(推薦 foxyproxy 插件),所有“流經(jīng)”這個(gè) proxy 的 http 動(dòng)作都會(huì)被記錄下來,測試時(shí)可以“回放”這些步驟來產(chǎn)生請求。

    tsung rocorder
    tsung stop_recorder

    “錄制”完了,會(huì)得到一個(gè) ~/.tsung/tsung_recorderXXXXXXXXXX.xml 文件,這就是測試時(shí)回回放的腳本。

    將這個(gè)腳本加到 tsung.xml 之中

    gedit ~/.tsung/tsung.xml

    就像這樣

    <!DOCTYPEtsungSYSTEM"/usr/share/tsung/tsung-1.0.dtd" [
     <!
    ENTITYmysession1SYSTEM"/home/yourname/.tsung/tsung_recorderXXXXXXXXXX.xml">
    ]>
    ...
    <sessions>
     
    &mysession1;
    </sessions>

    對配置稍作調(diào)整

    <monitoring>
        
    <monitorhost="localhost"type="erlang"></monitor>
     
    </monitoring>
     
    <!-- 需要配置到 localhost 無須密碼的 ssh 登錄(ssh via rsa_key),開啟了這個(gè)配置可以,獲得目標(biāo)機(jī)器的 cpu 和 ram 消耗情況 -->
     
    <load>
      
    <arrivalphasephase="1"duration="1"unit="minute">
        
    <usersinterarrival="2"unit="second"></users>
      
    </arrivalphase>
     
    </load>
     
    <!-- 第1階段1分鐘(你可以自己多搞幾個(gè)階段),其中每2秒新建一個(gè)用戶,每個(gè)用戶都會(huì)完整執(zhí)行 session 的測試腳本,最高并發(fā)約為 30 個(gè),個(gè)人認(rèn)為這個(gè)“逐漸加壓”的方法比 ab xxxx 的“突然加壓”要慢一些,但更科學(xué)一點(diǎn) -->

    運(yùn)行

    準(zhǔn)備好了,加壓運(yùn)行。

    tsung start

    運(yùn)行完,在 ~/.tsung/log 目錄會(huì)生成一個(gè)以時(shí)間命名的目錄,進(jìn)入這個(gè)目錄

    cd ~/.tsung/log/xxxxx
    /usr/lib/tsung/bin/tsung_stats.pl (有時(shí)可能是 /usr/local/lib/tsung/bin/tsung_stats.pl)

    生成 html 的壓力測試報(bào)告

    firefox report.html
    除了 http 以外 tsung 還可以壓很多東西,比如:jabber, postgreSQL 還可以寫插件來給任何你想要測試的東西加壓.

    posted @ 2008-12-01 10:43 Fingki.li 閱讀(1977) | 評論 (2)編輯 收藏

    通過/etc/init.d/iptables status命令查詢是否有打開80端口,如果沒有可通過兩種方式處理:
    1.修改vi /etc/sysconfig/iptables命令添加使防火墻開放80端口
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    2.關(guān)閉防火墻
    /etc/init.d/iptables stop 
    #start 開啟 
    #restart 重啟

    posted @ 2008-11-25 17:44 Fingki.li 閱讀(670) | 評論 (0)編輯 收藏

    Backup to Script:
    首先切換到postgres用戶:
    liqingfeng@liqingfeng:~$ su postgres
    口令: 輸入密碼
    postgres@liqingfeng:/home/liqingfeng$
    然后輸入backup命令:
    pg_dump -U[username] -d -f[way of script file] [database name]
    例如:pg_dump -Upostgres -d -f/home/liqingfeng/test.sql testdb
    這樣數(shù)據(jù)庫testdb將以sql腳本形式backup到/home/liqingfeng/test.sql中。
    Restore from Script:
    還是首先要切換到postgres用戶下,輸入命令:
    psql -U[username] -d[database name] -f[way to an existing script file]
    例如:
    psql -Upostgres -dtestdb -f/home/liqingfeng/test.sql






    posted @ 2008-11-25 10:13 Fingki.li 閱讀(3719) | 評論 (0)編輯 收藏

    當(dāng)進(jìn)行大并發(fā)的壓力測試時(shí),經(jīng)常會(huì)出現(xiàn)如下Exception:Too many open files.
    查閱資料,google baidu.
    首先感謝demo的評論,使我對這個(gè)問題有了新的認(rèn)識(shí)。
    經(jīng)過再次查找,發(fā)現(xiàn)這個(gè)問題的出現(xiàn)原因是system對打開files數(shù)量的限制問題。
    用 ulimit -a 命令可以查看當(dāng)前所有資源限制
    fingki@ubuntu:~$ ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 15863
    max locked memory       (kbytes, -l) 32
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 1024
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 15863
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    fingki@ubuntu:~$
    可以看出,對open files的限制數(shù)是1024,我們可以通過修改這個(gè)值來增加可以打開的文件數(shù)。
    最簡單的修改方式就是用ulimit -n 命令,
    比如我打算將其改為2048,用 ulimit -n 2048.
    當(dāng)你把open files的值增大到一定程度,你的Too many open files就不會(huì)再出現(xiàn)了。

    而對于tcp_fin_timeout,是合tcp連接相關(guān)的,當(dāng)你有大量tcp連接時(shí),或許有些性能改善;
    tcp_fin_timeout,默認(rèn)情況下,win為4 min,linux為60 sec.
    可以把其相應(yīng)設(shè)置短一些,以增加系統(tǒng)性能。

    in Windows

    1. Run regedit to start the Registry Editor
    2. Locate the following key: HKEY_LOCAL_MACHINE"System"CurrentControlSet"Services"tcpip"Parameters
    3. Add a new value named TcpTimedWaitDelay asa decimal and set the desired timeout in seconds (30-300)
    4. Reboot

    in Linux

    1. Update the configuration value by running (30 seconds used in the example)
      echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
    2. Restart the networking component, for example by running
      /etc/init.d/networking restart  or  service network restart
    在linux下,經(jīng)常會(huì)有權(quán)限問題使設(shè)置不能成功,盡管你用了sudo。
    解決辦法就是先 su root,在root用戶下來執(zhí)行操作,這樣就ok了。
    再有就是可能忘記root密碼了,那就 sudo passwd root,來設(shè)置一個(gè)新密碼。

    根據(jù)進(jìn)一步的研究發(fā)現(xiàn):服務(wù)器默認(rèn)情況下對進(jìn)程的處理也是有限制的,要想server處理更多用戶進(jìn)程就需要調(diào)整相應(yīng)參數(shù)。
    這里面有兩個(gè)文件要特別注意,
    一個(gè)是    /etc/security/limits.conf
    另一個(gè)    /etc/sysctl.conf

    當(dāng)我們用ulimit -a命令可以查看 open files(默認(rèn)為1024)和max user processes(默認(rèn)也為1024),
    所以默認(rèn)情況下這個(gè)server只允許同時(shí)打開1024個(gè)文件,處理1024個(gè)用戶進(jìn)程,
    若要 臨時(shí) 改變這兩個(gè)參數(shù)值,可以使用 ulimit -n 10240 ,ulimit -u 10240,
    若要 長久 改變這兩個(gè)參數(shù)值,就要修改/ect/security/limits.conf,在文件中加上兩行:
    * - nofile 102400
    * - nproc 102400

    而對于大量使用tcp連接的應(yīng)用來說,也需要對/etc/sysctl.conf中的參數(shù)進(jìn)行相應(yīng)優(yōu)化:
    net/ipv4/ip_always_defrag = 1
    net.ipv4.ip_local_port_range = 1024    65000
    net.ipv4.tcp_max_syn_backlog = 102400
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    上面是我根據(jù)我的需求的一些參數(shù)調(diào)整,你可以根據(jù)你的需求來調(diào)整相應(yīng)參數(shù)值。
    然后執(zhí)行 sysctl -p命令可立即生效。sysctl -a可查看參數(shù)值。

    參考 :http://www.javaeye.com/topic/65175

    posted @ 2008-10-22 19:13 Fingki.li 閱讀(5836) | 評論 (7)編輯 收藏


    1、Scp 很好用的遠(yuǎn)程文件安全傳輸命令
       命令格式:scp [-r] 源文件路徑 目標(biāo)文件路徑
                 源文件路徑:username@hostname:文件路徑 For example:fingki2@192.168.0.2:test/a.txt (如果是本地可直接寫相應(yīng)路徑)
                 目標(biāo)文件路徑:username@hostname:文件路徑 For example:fingki3@192.168.0.3:test/a.txt (如果是本地可直接寫相應(yīng)路徑)
                 -r:如果是傳目錄 就要加上這個(gè)參數(shù)
                 要求:遠(yuǎn)程機(jī)器必須打開22端口
    2、ssh 很好的linux服務(wù)器登錄命令 secure shell
        簡易命令格式:ssh username@hostname 然后輸入密碼即可進(jìn)入系統(tǒng)。
        有時(shí)你會(huì)遇到如下問題:
    The authenticity of host '172.0.x.xxx (172.0.x.xxx)' can't be established.
    RSA key fingerprint is 1f:c9:78:0a:ce:e2:e5:10:2c:b5:f4:33:19:fa:be:ec.
    Are you sure you want to continue connecting (yes/no)?

        如果你是第一次在這臺(tái)機(jī)器上使用ssh命令,輸入yes回車后,就可以輸入密碼登錄了。
        如果輸入yes后仍有問題,你可以到 ~/.ssh/下找到文件known_hosts,清除文件里面的內(nèi)容,重試即可。

    3、vi列模式編輯:

      用命令打開文本:vim test.txt
      按 Esc 取消當(dāng)前模式,
      按Ctrl + v 進(jìn)入這種模式,
      將光標(biāo)移到指定列位置,
      然后按方向鍵選定指定列,進(jìn)行編輯(刪除等)

    4. 批量刪除
    如:刪除所有名字包含test的文件
    find ./ -name *test* | xargs rm -f

    posted @ 2008-09-18 17:31 Fingki.li 閱讀(1827) | 評論 (0)編輯 收藏

    前兩天一個(gè)朋友問我,為什么要寫blog?
    是呀,為什么要寫blog呢?為什么大家都在寫blog呢?
    我來說說我的想法吧。
    最開始的時(shí)候,我純粹是跟風(fēng),大家都在寫blog,自己也就想玩玩,隨便申請了一個(gè),然后寫幾篇不相干的東西,然后忘記了;
    后來,工作中經(jīng)常遇到一些技術(shù)問題,想把它記錄下來,想到了blog這種方式,很不錯(cuò),很方便,所以又開始找個(gè)相關(guān)的blog,開始寫;
    再后來,發(fā)現(xiàn)有好多的問題都是在別人的blog中找到的答案,很羨慕,很感激,于是也開始把自己的一些經(jīng)驗(yàn)?zāi)贸鰜砗痛蠹曳窒恚?br /> 慢慢的,當(dāng)發(fā)現(xiàn)自己的文章也曾幫助過別人時(shí),感覺很高興;于是,工作不是很忙時(shí),就會(huì)寫一些東西和大家分享;
    我是blog的受益者,我也是blog的貢獻(xiàn)者!正是blog,使我們可以互補(bǔ)技術(shù)上的缺點(diǎn),分享工作中的經(jīng)驗(yàn),讓我們更快的進(jìn)步!
    于是有感于blog: 是分享,是共同進(jìn)步!

    posted @ 2008-09-07 23:05 Fingki.li 閱讀(1422) | 評論 (2)編輯 收藏

    About Exception:
    An invalid XML character (Unicode: 0x0) was found in the element content of the document.

    問題描述:
    當(dāng)我們用
    byte[] info ;
    DocumentHelper.parseText(new String(info));
    將一個(gè)字節(jié)數(shù)組轉(zhuǎn)成字符串再轉(zhuǎn)成Document(XML格式)時(shí),常常會(huì)遇到上述異常。
    特別是當(dāng)字符串有加、解密,或編碼等情況時(shí)。

    原因:
    從異常來看,很明顯是因?yàn)樽止?jié)數(shù)組中存在 Unicode: 0x0,而這個(gè)字節(jié)在Xml中被認(rèn)為是非法字符。

    對于一些經(jīng)過編碼或加、解密的字符串中,很容易會(huì)出現(xiàn)這個(gè) 0x0,
    特別是在加、解密中,經(jīng)常會(huì)涉及到字符填充,而填充物通常是 0x0,
    需對于0x00-0x20 都會(huì)引起一定的問題,又因?yàn)檫@些字符不可見,因此用通常的編輯器進(jìn)行編輯的時(shí)候找不到問題所在。
    而在轉(zhuǎn)成String后也覺察不到任何異常。
    所以在轉(zhuǎn)成XML格式時(shí)要對字符串進(jìn)行檢測:
    *  Verify that no character has a hex value greater than 0xFFFD, or less than 0x20.
    * Check that the character is not equal to the tab ("t), the newline ("n), the carriage return ("r), or is an invalid XML character below the range of 0x20. If any of these characters occur, an exception is thrown.

    pubic void CheckUnicodeString(String value)
        {
        for (int i=0; i < value.Length; ++i) {
            if (value[i] > 0xFFFD)
            {
                throw new Exception("Invalid Unicode");//或者直接替換掉0x0 value[i]='"n';
            }
            else if (value[i] < 0x20 && value[i] != '"t' & value[i] != '"n' & value[i] != '"r')
            {
                throw new Exception("Invalid Xml Characters");//或者直接替換掉0x0 value[i]='"n';
            }
        }

    相關(guān)資源:
    http://msdn.microsoft.com/en-us/library/k1y7hyy9.aspx
    http://gceclub.sun.com.cn/developer/technicalArticles/Intl/Supplementary/index_zh_CN.html

    posted @ 2008-09-04 15:18 Fingki.li 閱讀(12202) | 評論 (0)編輯 收藏

    keystore是個(gè)密鑰存儲(chǔ)庫,我們經(jīng)常用他來存儲(chǔ)非對稱密鑰,但有時(shí)我們也需要它來存儲(chǔ)一些對稱密鑰。
     public void createKeyStore() {



    try {



    KeyGenerator keyGen = KeyGenerator.getInstance("DES");







    SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");







    keyGen.init(56, random);







    SecretKey secretKey = keyGen.generateKey();







    KeyStore ks = KeyStore.getInstance("jceks");







    char password[] = {'c', 'h', 'a', 'n', 'g', 'e','i','t' };







    // Create an empty keystore



    ks.load(null, password);







    KeyStore.SecretKeyEntry skEntry = new KeyStore.SecretKeyEntry(secretKey);







    ks.setEntry("myKey", skEntry, new KeyStore.PasswordProtection(password));



     



    // store away the keystore



    java.io.FileOutputStream fos =



    new java.io.FileOutputStream("mystore");



    ks.store(fos, password);



    fos.close();







    } catch (NoSuchAlgorithmException nsaex) {



    nsaex.printStackTrace(System.err);



    } catch (NoSuchProviderException nspex) {



    nspex.printStackTrace(System.err);



    } catch (KeyStoreException ksex) {



    ksex.printStackTrace(System.err);



    } catch (CertificateException cex) {



    cex.printStackTrace(System.err);



    } catch (IOException ioex) {



    ioex.printStackTrace(System.err);



    }



    }







    上面的例子是存一個(gè)DES密鑰。



    需要注意的就是這個(gè)keystore的類型,必須是jceks,



    之前我就是使用默認(rèn)的jks,導(dǎo)致報(bào)錯(cuò)。





    posted @ 2008-09-02 10:42 Fingki.li 閱讀(797) | 評論 (0)編輯 收藏

    以往有聽說過“Microsoft Windows、FreeBSD不安全隨機(jī)數(shù)生成器信息泄露漏洞”之類的文章,大都是因?yàn)殡S機(jī)函數(shù)存在漏洞生成不安全的隨機(jī),導(dǎo)致可預(yù)測的加密密鑰。
    About Random
    隨機(jī)數(shù)是密碼學(xué)的一個(gè)重要部分,它通常作為初始化向量用于密鑰生成中。有許多測試根據(jù)數(shù)字計(jì)算給定數(shù)字序列的隨機(jī)性,它們考慮給定數(shù)定在序列中出現(xiàn)的周期,做更細(xì)致的測量,包括相同數(shù)字或其他重復(fù)形式出現(xiàn)的周期。
    但統(tǒng)計(jì)隨機(jī)性的要求與加密隨機(jī)性不同。
    一個(gè)數(shù)字序列在統(tǒng)計(jì)上是隨機(jī)的,但如果攻擊者可以推算出數(shù)字的序列(通過了解使用的算法和隨機(jī)種子值),那么加密是變得不安全了。
    About Pseudo Random 偽隨機(jī)數(shù)
    對于一串隨機(jī)的數(shù)字,最常見的描述就是沒有從前一個(gè)數(shù)字推算出后一個(gè)數(shù)字的數(shù)學(xué)方法。最好的隨機(jī)數(shù)是從物理過程中獲得的,因?yàn)閷?shí)際物理程才是真正隨機(jī)的。事實(shí)上,一些隨機(jī)數(shù)生成器就是使用硬件設(shè)置來實(shí)現(xiàn),如音頻輸入或二極管。
        從設(shè)計(jì)上來說,計(jì)算機(jī)是很確定的,因此不是生成隨機(jī)數(shù)的就好選擇。它們通常求助于一個(gè)生成統(tǒng)計(jì)上隨機(jī)的數(shù)字串的算法。為了確定在該算法中使用的輸入值,它們要求用戶提供一個(gè)種子值,這通常來自于系統(tǒng)時(shí)鐘、網(wǎng)卡MAC地址以及其他不同的系統(tǒng)參數(shù)。
        這些隨機(jī)數(shù)字很適合于計(jì)算機(jī)游戲中的示例數(shù)據(jù)或建模物理過程。不過,它們不適合于加密。它的弱點(diǎn)包括以下幾點(diǎn):
    ●     偽隨機(jī)數(shù)是周期性的。最終將重復(fù)數(shù)字序列。
    ●     如果使用相同的種子值,將接收到序列完全一樣的“隨機(jī)”數(shù)。因此,隨機(jī)序列與種子值一樣多。
    ●     隨機(jī)數(shù)可使用逆向工程。運(yùn)用算法知識(shí),強(qiáng)力攻擊會(huì)立即猜測到種子值。如果種子值和時(shí)間之間有相關(guān)性,攻擊者將會(huì)推算出所有后面的“隨機(jī)”數(shù)。
     
    偽隨機(jī)數(shù)是出現(xiàn)許多臭名昭著的攻擊的主要原因。破解56 位DES從1997年1月的96 天到1999 年1月的22 小時(shí)15 分鐘,由于DES使用的偽隨機(jī)數(shù)生成算法導(dǎo)致了這個(gè)結(jié)果,有一種攻擊就是針對賭博應(yīng)用程序,這種應(yīng)用程序使用一個(gè)隨機(jī)數(shù)種子值來對紙牌進(jìn)行排序,而洗牌的可能性是有限的。在看完開始的幾張牌后,用戶可以將當(dāng)前發(fā)的牌與某種可能的洗牌序列匹配,來確定剩下牌的順序。

    另一個(gè)著名的例子就是Netscape Navigator 早期版本中的取決于時(shí)間的隨機(jī)數(shù)字生成器,它泄露了動(dòng)態(tài)生成的用于加密運(yùn)用SSL的會(huì)話中數(shù)據(jù)的密鑰。
    About Random encrypted 加密的隨機(jī)數(shù)
    隨機(jī)數(shù)生成是許多加密操作不可分割的組成部分。例如,加密密鑰需要盡可能地隨機(jī),以便使它們很難被復(fù)制。加密隨機(jī)數(shù)生成器必須生成在計(jì)算上無法進(jìn)行推算(低于 p < .05 的概率)的輸出;即,任何推算下一個(gè)輸出位的方法不得具有比隨機(jī)猜測更高的成功幾率。
    為了說明一連串的隨機(jī)數(shù)字是加密安全的,必須使得用戶不可能通過計(jì)算重新生成同樣序列的隨機(jī)數(shù)。遺憾的是,運(yùn)用偽隨機(jī)數(shù)字,可以很容易地重新生成同樣的序列。用戶需要知道的知識(shí)就是偽隨機(jī)數(shù)生成器算法和種子值。
        通過加密保護(hù)數(shù)據(jù)基于加密算法和更為隨機(jī)的種子值就是本文要提出的方法,一個(gè)帶加密功能的隨機(jī)數(shù)產(chǎn)生器,可以應(yīng)用于需要加密隨機(jī)數(shù)的場合.為了構(gòu)成種子值,需要用不同的值組合成一個(gè)系統(tǒng)范圍內(nèi)的種子值。這些值包括調(diào)用的應(yīng)用程序可以提供的位,例如鼠標(biāo)或鍵盤動(dòng)作之間的用戶反應(yīng)時(shí)間、象進(jìn)程ID和線程ID這樣的系統(tǒng)和用戶數(shù)據(jù)、系統(tǒng)時(shí)鐘、系統(tǒng)計(jì)數(shù)器、自由磁盤集群屬和散列的用戶環(huán)境塊。接著使用SHA-1散列這個(gè)值,輸出用于創(chuàng)建一個(gè)隨機(jī)數(shù)據(jù)流(用于更新系統(tǒng)種子值)。這可以起作用,是因?yàn)樯⒘兄瞪闪丝此齐S機(jī)的數(shù)據(jù),只改變源文檔(種子值)中的一個(gè)位,任何兩個(gè)輸出的散列共享它們50%的位,盡管兩個(gè)輸出只有一位之差。當(dāng)然,從理論上講,有些過程還是周期性的。例如磁盤搜索時(shí)間看似隨機(jī)的,實(shí)際取決于易于確定的因素,可以被推測出來。為了獲取更好的隨機(jī)數(shù)生成,可以采用硬件生成器,例如Intel的隨機(jī)數(shù)生成器。
       
    說明:
        創(chuàng)建加密安全的隨機(jī)數(shù)需要更多的時(shí)間,這意味著如果需要快速地在一個(gè)短時(shí)間內(nèi)生成大量隨機(jī)數(shù)(例如百萬級的數(shù)據(jù))是不適合的。在一個(gè)簡單測試中,用本文提到的RNG生成一百萬個(gè)隨機(jī)數(shù)的時(shí)間花費(fèi)差不多是偽隨機(jī)數(shù)生成器所用時(shí)間的八倍之多。

    相關(guān)資源:http://www.xfocus.net/articles/200209/451.html

    posted @ 2008-08-28 23:46 Fingki.li 閱讀(875) | 評論 (0)編輯 收藏

    到目前為止,中國已奪26金啦,中國加油!

    posted @ 2008-08-15 23:11 Fingki.li 閱讀(235) | 評論 (1)編輯 收藏

    在ubuntu-server下安裝phppgadmin遇到如下問題,記錄如下:
    首先安裝postgresql很簡單,sudo apt-get instatll postgresql
    安裝完成后,可能需要更改默認(rèn)用戶postgre的密碼,這個(gè)可以查看我之前的文章。
    然后,安裝client,我打算使用phppgadmin,
    命令行下:sudo apt-get install phppgadmin
    完成后,默認(rèn)同時(shí)安裝了它所依賴的apache2。
    在瀏覽器中輸入:http://localhost,顯示 It works.這說明apache2在正常工作。
    但輸入http://localhost/phppgadmin,顯示無法找到該頁,
    進(jìn)入 /var/www中查看,只有index.html,所以肯定找不到phpgpadmin,
    所以需要做link,
    執(zhí)行:sudo find / -name phppgadmin,查找出phppgadmin的位置,
    然后做連接: sudo ln -s /usr/share/phppgadmin phppgadmin
    之后再試瀏覽器中訪問http://localhost/phppgadmin,這次可以找到文件了,但提示是否下載php文件。
    一同事說遇到過這樣問題,說是少個(gè)libapache2-mod-php5,查看一下已經(jīng)安裝了。
    于是google一番,得知:如果當(dāng)您瀏覽PHP網(wǎng)頁的時(shí)候,瀏覽器提示您是否下載PHP文件而不是去顯示它的時(shí)候,就可能是您沒有安裝libapache2-mod-php5。當(dāng)您 安裝PHP5的時(shí)候,它會(huì)被默認(rèn)的安裝進(jìn)去的,如果您不小心的將它遺忘了。您就需要去將它打開,sudo a2enmod php5,然后使用sudo /etc/init.d/apache2 restart來重新啟動(dòng)APACHE。
    果然重啟apache2后,可以正常訪問了。






    posted @ 2008-07-31 17:43 Fingki.li 閱讀(1378) | 評論 (1)編輯 收藏

    要用java檢測網(wǎng)絡(luò)資源是否可用,我們可以采用以下兩種方法:
    一種方法是調(diào)用ping命令,
    如:
          Process   process=   Runtime.getRuntime().exec("ping   192.168.0.5");  
          InputStreamReader   return   =   new   InputStreamReader(process.getInputStream());  
          LineNumberReader   returnData   =   new   LineNumberReader   (return);    
       
          String   line="";  
          while((line=returnData.readLine())!=null){  
              System.out.println(line);  
          }
    通用對返回?cái)?shù)據(jù)進(jìn)行分析,來探測網(wǎng)絡(luò)資源的可用性;
    這種方法有一個(gè)缺點(diǎn):就是許多網(wǎng)絡(luò)資源是不允許被ping的,從而針對這類資源無法探測。
    另一種方法是使用URL,
    如:
                    URL url = new URL("http://localhost");  
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();  
                    int state = connection.getResponseCode();  
                    String responseContent = connection.getResponseMessage();
    通過分析ResponseCode來探測網(wǎng)絡(luò)資源的可用性。
    另外,當(dāng)指定的網(wǎng)絡(luò)資源走SSL時(shí),即用https協(xié)議時(shí),需要加入可信證書到trust.keystore.
    通常情況下,我的用的是jre的keystore:cacerts,如jdk6下的路徑為:jdk1.6.0_05/jre/lib/security/cacerts
    我們需要把指定資源的數(shù)字證書導(dǎo)入到信任庫 cacerts.
    可以使用keytool工具:keytool -import -alias localhost -file localhost.cer -keystore cacerts
    如果我們不想使用jre的keystore,我們可以建立自己的keystore,
            System.setProperty("javax.net.ssl.trustStore", "/home/liqingfeng/workspace/Test/mystore/localhost.keystore");
            System.setProperty("javax.net.ssl.trustStorePassword","changeit");
    用keytool命令把localhost的證書導(dǎo)入到指定的localhost.keystore中。這樣我們就可以用URL來探測SSL網(wǎng)絡(luò)資源的可用性了。

    這里必須注意的是指定網(wǎng)絡(luò)資源的證書的CN,必須與資源訪問地址一致,否則會(huì)報(bào)錯(cuò)。
    以下是常見異常:
    當(dāng)keystore中沒有指定資源的證書時(shí):
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    當(dāng)指定資源證書的CN與資源訪問地址不匹配時(shí):
    javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching localhost found





    posted @ 2008-07-28 15:16 Fingki.li 閱讀(3200) | 評論 (4)編輯 收藏

    Good Address:

    Command Line Tools for win32  
    http://www.vkill.net/tools.html

    腳本中心腳本庫網(wǎng)址:
    http://www.microsoft.com/china/technet/community/scriptcenter/scripts/default.mspx

    有關(guān)用戶和組的腳本(找得我好辛苦呀)
    http://www.microsoft.com/china/technet/community/scriptcenter/user/default.mspx

    最近發(fā)現(xiàn)一個(gè)不錯(cuò)的jdk6 source網(wǎng)站,收藏一下:
    http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Modules-sun/security/sun/security/krb5/internal/ktab/KeyTab.java.htm

    http://developer.classpath.org/doc/

    http://fuseyism.com/classpath/doc/

    http://kickjava.com/src/

    http://www.docjar.com/

    VbScript語言參考
    http://book.chinaz.com/VBScript/vbsdocs/vbstoc.htm

    SUN網(wǎng)站
    http://www.java.sun.com
    http://java.sun.com/javase/technologies/security/


    posted @ 2008-07-21 11:50 Fingki.li 閱讀(218) | 評論 (0)編輯 收藏

    在我們用程序進(jìn)行HTTP連接時(shí),都要監(jiān)測返回的httpstatus,來確定響應(yīng)狀態(tài)。
    一般的情況下返回都是401,500等。
    但有時(shí)候會(huì)返回 -2146697211,這種情況一般是無法訪問指定資源。
    請檢查網(wǎng)絡(luò)是否異常,是否可以ping通指定資源。
    我曾見到的問題是在DNS中沒有綁定指定的域名和IP,
    例如:我要訪問的資源為:http://liqingfeng:8080 IP為192.168.0.5
    當(dāng)我沒有在DNS或host中綁定它們時(shí),我進(jìn)行http連接會(huì)返回 status -2146697211
    當(dāng)我綁定域名和IP后,status 200.
    另外,當(dāng)返回-2146697191時(shí),一般是證書安全問題。



    posted @ 2008-07-18 09:42 Fingki.li 閱讀(1552) | 評論 (2)編輯 收藏

    主站蜘蛛池模板: 日日操夜夜操免费视频| 亚洲伊人久久综合影院| AV在线亚洲男人的天堂| 亚洲自偷自偷精品| 日韩国产欧美亚洲v片| 国精产品一区一区三区免费视频| 国产精品久久免费| 亚洲裸男gv网站| 亚洲手机中文字幕| eeuss免费影院| 最近的中文字幕大全免费版| 久久精品国产亚洲一区二区三区| 亚洲AV色吊丝无码| eeuss在线兵区免费观看| 无码免费午夜福利片在线 | 在线观看亚洲天天一三视| 亚洲综合激情九月婷婷| 一级特黄a大片免费| 2021免费日韩视频网| 国产gv天堂亚洲国产gv刚刚碰| 激情综合亚洲色婷婷五月| 特级做A爰片毛片免费看无码| 女人18毛片水真多免费播放| 久久久久亚洲精品成人网小说| 美国免费高清一级毛片| 黄+色+性+人免费| 久久精品国产69国产精品亚洲| 亚洲AV无码AV男人的天堂不卡| 24小时日本韩国高清免费| 相泽亚洲一区中文字幕| 亚洲heyzo专区无码综合| 5g影院5g天天爽永久免费影院| 国产性爱在线观看亚洲黄色一级片| 日韩亚洲国产综合高清| 最近中文字幕2019高清免费| 亚洲综合色自拍一区| 国产亚洲精品91| 午夜dj免费在线观看| 亚洲国产成+人+综合| 无码av免费网站| 国产亚洲一区二区精品|