在想自己和剛畢業(yè)的時候處理問題有什么不同。剛畢業(yè)的時候如果想卸載停用什么東西提示說正在使用,我就去找個強力卸載軟件。如果我想清理瀏覽器緩存,會直接用工具,如果想找到緩存路徑選擇性的清理,會百度一下這個瀏覽器的默認緩存路徑在哪里?,F(xiàn)在,我會打開資源監(jiān)視器查看磁盤活動,對文件,找到使用文件的進程;對應(yīng)用,找到它在讀寫的文件路徑。
現(xiàn)在接口服務(wù)組的性能卡在memcahe緩存上。對于緩存的過渡依賴,而且為了維護這個緩存數(shù)據(jù),業(yè)務(wù)流程的復(fù)雜性大大提高。其實本身接口這塊業(yè)務(wù)流程是很簡單的,只是要求承擔很大的并發(fā)量。要高并發(fā),業(yè)務(wù)就更得簡單。nginx服務(wù)單臺機器號稱能承載10億的并發(fā),為啥?邏輯簡單啊,就是按照規(guī)則找到對應(yīng)的處理服務(wù),將請求轉(zhuǎn)發(fā)過去。
前段時間接了個私活。話說這一年多的時間還真干了不少事情,干過私活創(chuàng)過業(yè)的。業(yè)務(wù)就是創(chuàng)建一個帶支付的途家+攜程。剛拿到活兒,因為是php的,我又不會php,愁死了。因為是男票幫忙接的活兒。我就說是男票把我給賣了。確實是,他接活兒,但是自己看都不看一眼,只負責拿錢。我自己啥都沒有,還怕做不好壞了男票的名聲。本來人家預(yù)算是2w的,我說這個得5w。最后給了3w。1個月時間確實是搞定了。總結(jié)一下,這個從UI設(shè)計到編碼測試只有我一個人的項目,就前端JS樣式這一樣,別人也很難做的很快。我之所以能做的很快,綜合能力是一方面,最重要的原因是:業(yè)務(wù)邏輯理的順,包括支付,結(jié)算,后臺給商家打款,統(tǒng)計分析。業(yè)務(wù)邏輯劃分的清楚,做起來工作量就沒有那么大。話說男票給我接私活這事兒,我嘴里是埋怨的,心里很清楚:他之所以給我接這個活兒是因為我想做。他并不是為了錢,是真心知道我想要什么。而我嘴上的埋怨也只是因為一時的辛苦發(fā)泄一下而已。這埋怨也是笑著埋怨的,誰也沒當回事情。在日本的時候看過一個日文版的韓國水木連續(xù)劇<黃真伊>,真伊有兩個愛她超過愛自己的母親。她的生母和老師。生母拼其一生想讓真伊得到愛,老師拼其一生想讓真伊得到痛。因為痛是才藝的源泉。恩浩注定不能和真伊在一起,因為他的軟弱。愛一個不對的人,心就像是浮萍,漂泊探索一無所獲??雌瓶床黄?,終究是寂寞。真伊與正翰的愛感化了所有人,而真伊終究也沒與正翰白首不相離。而愛一個對的人,他們的經(jīng)歷是別人所不能比的,他們最終心里都是踏實的。真伊為才藝而生,正翰為天下而活。這才是他們的平靜與歸宿。不像真伊那般有才,也不像真伊那般命苦。過著幸福的小生活,做著自己想做的事,吾復(fù)何求。
又想到離線數(shù)據(jù)那個小項目,在想之前跑全量只是取ID都要跑四個小時,我寫的程序只要20多分鐘,為啥呢,最重要的原因也是劃分的清楚。人家問我這個項目用到了哪些線程之間共享資源的地方,我說:這里面有個AtomicInteger作為線程計數(shù)器算不算,我需要計算是不是所有的線程都是正常跑完終止的。其他的共享資源我都放到一個類里面了,但是Map我就是用的HashMap,也沒用到ConcurrentHashMap,話說咱也是知道并發(fā)包里的各種并發(fā)容器的原理的。但是業(yè)務(wù)邏輯劃分清楚了,我能保證寫HashMap的時候,只有一個線程在訪問,我沒有必要非要用并發(fā)啊。所有的線程最終要生成全量文件,我用幾百個線程,每個線程生成一個文件,各自讀寫打包壓縮,各不干擾,當然要比給文件加鎖,等待寫操作快得多。