精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

挨踢部落故事匯(32): Java深坑如何填?

原創
移動開發
世上本沒有坑,踩的人多了也便成了坑。每遇到一次困難,每踩一個坑,對程序員來說都是一筆財富。持續學習是程序員保持競爭力的源泉。本期將分享一個踩坑無數的Java程序猿填坑秘籍。

【51CTO.com原創稿件】世上本沒有坑,踩的人多了也便成了坑。每遇到一次困難,每踩一個坑,對程序員來說都是一筆財富。持續學習是程序員保持競爭力的源泉。本期將分享一個踩坑無數的Java程序猿填坑秘籍。

榆木,一個閱歷無數(踩坑)的技術宅男,喜歡了解新技術卻不愛太鉆研新技術(因為懶,猿屆反面角色一枚)。14年畢業至今,在Java開發這條道路上可謂是坑過好些人、也埋過好些坑、也被坑過好些次。因為懶,沒有針對他遇到過的問題做過太多的筆記(記錄一些棘手問題的解決方法還是個不錯的習慣),只是習慣性的去分析為什么出現這樣的問題,我們該怎么去避免重復出現。在這里榆木share一下***次做獨立需求的過程。

[[211461]]

榆木·Java開發工程師

要成為一個合格的Java程序猿,獨立完成需求是一個必須經歷的階段,在這個過程中可能會遇到很多問題,要學會合理的利用資源(官方文檔、社區論壇等)去解決問題。在這個階段應該是踩坑最多、收獲最多、成長最快的階段。

在榆木入職的前3個月里,做的都是一些改bug、完善需求的活,他不需要太多思考,根據客戶說的做就成了。三個月之后他的公司順利拿下了該客戶的二期項目,由于人手不夠,再加上他在一期維護的時候對業務比較熟悉,老大便讓榆木獨自承擔該項目前置子系統的全部需求。剛開始的時候榆木是很激動的,隨之而來的卻是不知所措。

榆木都是如何踩坑又填坑的呢?分享一下他的幾點經驗,希望對開發者有所幫助。

如何同時開啟兩個SVN服務

因為公司資源不夠,老大就要求在原有的服務器上再弄一個SVN服務,于是他開始各種搗騰,可是不管怎么樣就是沒有辦法同時起來兩個服務。怎么辦,只能找哥哥(google)幫忙咯,因為SVN服務的啟動(/etc/init.d/svnserve start )是包含一些默認參數,如 --listen-port指定服務端口 默認是3691,如果要同時起兩個SVN服務只需要在啟動時指定兩個不同的listen-port就OK了。

如下,問題解決:

  1. /etc/init.d/svnserve start   -d -r /svn/repo  ***次***個庫啟動  默認3691 
  2. /etc/init.d/svnserve --listen-port 9999 -d -r /svn/svndata  第二次指定端口啟動 

問題搞定,緊接著就是緊張的代碼開發,事情有點想不到的順利,后端接口順利完工通過測試,榆木開始和前端對接聯調,好激動,搞不好可以提前完成任務了。噼里啪啦的搞完就開始測試了。

fastJson序列化問題

所謂沒有遇到過bug的程序猿就不是正常的程序猿,一點都不意外,問題來了。同一個對象賦值給HashMap中不同的key 傳到前端后,第二個value竟然不能被正常解析....... 他自己寫的代碼必須不能慫,有問題那就解決問題,于是榆木開始找問題所在,開始模擬數據,發現返回結果如下:

  1. {"o1":{"age":16,"name":"o1"},"2":{"$ref":"$.o1"}}  

很容易就能看出來,第二value在這個返回結果中用類似指針的方法("$ref":"$.o1")表示它和“o1”的值一樣,看起來像是同一個對象的循環引用哦,那是不是可以把這個循環引用禁止呢?答案是可以的。(有必要說明一下,這里使用的是fastJson)通過SerializerFeature指定禁用循環依賴就可以了。修改前代碼如下:

  1. public static void test1() { 
  2.         TestObject object = new TestObject("o1", 16); 
  3.         Map<String, TestObject> map = new HashMap<String, TestObject>(); 
  4.         map.put("o1", object); 
  5.         map.put("o2", object); 
  6.         System.out.println(new String(JSON.toJSONBytes(map))); 
  7.     }        

輸出結果:{"o1":{"age":16,"name":"o1"},"o2":{"$ref":"$.o1"}}

在一個集合對象中存在多條相同數據時,將ist集合對象轉化為json對象輸出到前臺時,JSON默認對第二條數據處理時用"$ref":"$.object".<這里object指***條數據>,這樣的json轉化結果輸出到前臺肯定是不可以使用的,好在JSON有提供禁止關閉引用循環檢測的方法,只需要在轉化的時候加上SerializerFeature.DisableCircularReferenceDetect  就可以解決了。修改后代碼如下:

  1. public static void test1() { 
  2.        TestObject object = new TestObject("s1", 16); 
  3.        Map<String, TestObject> map = new HashMap<String, TestObject>(); 
  4.        map.put("o1", object); 
  5.        map.put("o2", object); 
  6.        SerializerFeature feature = SerializerFeature.DisableCircularReferenceDetect; 
  7.        System.out.println(new String(JSON.toJSONBytes(map, feature))); 
  8.    } 

輸出結果如下:{"o1":{"age":16,"name":"o1"},"o2":{"age":16,"name":"o1"}}

到這里問題就解決了。不久之后測試通過了,交付客戶測試版本,開始和中心聯調測試了。

OOM異常處理

榆木以為到這里就萬事大吉了,然而是不可能的。聯調測試兩天之后,客戶反饋說:“我們的XXX報文數據已經往中心發過了呀,可是中心說他們沒有收到,你們查下是什么問題唄!”客戶就是上帝呀,榆木和他的同事開始查詢日志,發現有一些OOM的異常。異常產生的場景是在取數據-組報文-MQ轉發這個環節,然后就開始一個一個點的排查了。

榆木首先想到的可能原因有:

1、數據取出來生成報文這個過程都是在內存中做的,會不會是這里數據太多導致?

2、會不會是報文生成過程產生了過多Object沒有來得及回收?

3、會不會是數據發送慢于報文生成的速到導致等待隊列爆滿?

然后開始針對性的做修改測試,他將一次性取數據生成報文的過程改成批量去做,然后測試運行一段時間沒有問題(排除 1);在生成保溫過程中,將每一個轉化后的對象置為空Object=null,以便及時回收,測試運行一段時間沒有問題(排除2);在第三點上面,他***想的是增加線程數量( 服務器開啟超線程、應用中增加線程數量)去提升處理速率,運行一段時間之后還是會出現OOM。怎么辦呢?再次回到了等待隊列上面來,能不能在一定程度上對等待隊列做個限制呢?于是榆木在每次從MQ取消息之前增加了對等待隊列的深度的判斷,如果深度大于***線程數量的2倍,就放棄本次MQ隊列消息的處理。然后繼續測試,問題沒有再出現。

查詢慢怎么辦?

最終項目上線了,終于可以松一口氣了。可是有一天,榆木的老大說客戶反映部分查詢很慢,讓他去處理一下。榆木心里想著,這個應該是個小問題,給數據表加索引就能搞定。到了客戶現場之后發現,原來的表是有索引的,可查詢還是慢,不得已只能去找原因了。不得不說,explain SQL是個不錯的命令,發現索引沒有生效,經過仔細的比對,發現該關聯查詢的關聯字段在兩個表中都有索引, 兩個表的字符集都是UTF8,但是排序規則一個是utf-bin(二進制存儲數據,大小寫區分),一個是utf8_general_ci(大小寫不敏感),所以把數據排序規則改成一致索引生效,查詢速度也就上來了。

PS: mysql中的UTF-8編碼的排序規則說明

utf8_bin將字符串中的每一個字符用二進制數據存儲,區分大小寫。

utf8_genera_ci不區分大小寫,ci為case insensitive的縮寫,即大小寫不敏感。

utf8_general_cs區分大小寫,cs為case sensitive的縮寫,即大小寫敏感。

【寫在***】

榆木整理了下這些年踩的坑,給自己也給正在和他掙扎在挨踢坑里的小伙伴們一些啟發與鼓勵。持續學習是保持競爭力的前提;夯實的基礎是進階的墊腳石。抬頭走不獨行(exchange)、埋頭干(code),就算被稱作屌絲,也還是要有夢想,萬一逆襲了呢。

 如果你也愿意分享你的故事,請加51CTO開發者QQ交流群 114915964聯系群主小官,期待你精彩的故事!

51CTO開發者交流群⑥群114915964

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:何星 來源: 51CTO
相關推薦

2017-03-21 11:19:57

開發者故事

2016-12-30 16:43:53

開發者故事

2017-09-15 11:39:47

2017-01-18 16:37:43

開發者故事

2017-03-01 15:57:48

開發者故事

2017-01-11 17:25:23

開發者故事

2017-01-10 14:59:03

開發者故事

2017-01-05 15:30:59

開發者故事

2017-01-19 13:40:56

開發者故事

2017-03-10 11:32:49

開發者故事

2017-01-18 11:07:20

開發者故事

2017-01-16 17:24:08

開發者故事

2017-07-06 14:59:27

2017-01-13 16:36:29

開發者故事

2018-07-04 17:42:58

開發者故事

2017-03-24 16:43:09

開發者故事

2017-06-09 16:27:40

開發者故事

2017-04-25 15:39:30

開發者故事

2017-10-23 13:15:51

2017-04-21 15:50:52

開發者故事
點贊
收藏

51CTO技術棧公眾號

日本一区二区视频在线播放| av7777777| 精品二区在线观看| 亚洲深爱激情| 自拍偷拍亚洲区| 亚洲妇女无套内射精| 不卡一二三区| 亚洲精品日产精品乱码不卡| 久久国产精品一区二区三区四区 | 一区二区三区免费网站| 久久一区二区三区av| 99久久国产热无码精品免费| 久久天天综合| 高清欧美一区二区三区| 免费在线观看黄色小视频| 日韩动漫一区| 欧美一级黄色片| 精品久久久久久久无码| 久久青青色综合| 国产精品美女久久久久久2018 | 一区二区激情小说| 亚洲高清资源综合久久精品| 午夜福利视频一区二区| 国产乱码一区二区三区| 国产成人综合久久| 在线观看亚洲天堂| 欧美涩涩视频| 精品国产美女在线| 亚洲精品91在线| 日韩在线麻豆| 亚洲国产成人精品一区二区| 午夜激情视频网| 国产精品久久久久久久久久齐齐| 精品成人在线视频| 日韩网站在线免费观看| www免费视频观看在线| 国产精品久久久久一区| 视频在线99re| 国产精品影院在线| 久久青草国产手机看片福利盒子| 亚洲一区精品电影| 在线观看色网站| 午夜在线一区| 欧美中文字幕视频在线观看| 久久精品久久国产| 国语精品一区| 欧美精品videosex极品1| 538任你躁在线精品视频网站| 日韩精品永久网址| 色小说视频一区| 人妻互换一区二区激情偷拍| 欧美色图国产精品| 在线观看91久久久久久| 国产精品1区2区3区4区| 成人在线国产| 日韩中文在线不卡| 日本精品人妻无码77777| 91精品一区国产高清在线gif| 日韩视频精品在线| 久草视频中文在线| 最新国产拍偷乱拍精品| 国产91精品视频在线观看| 羞羞影院体验区| 性欧美暴力猛交另类hd| 国产91久久婷婷一区二区| 波多野结衣一区二区三区在线 | 国产999在线观看| 99re国产在线| 国产综合色产在线精品| 97se亚洲综合| 亚洲欧美日本在线观看| 久久免费美女视频| 椎名由奈jux491在线播放| av网站导航在线观看免费| 亚洲一区在线播放| 国产在线观看福利| 色婷婷成人网| 欧美videos中文字幕| 成人精品在线观看视频| 日韩综合在线| 欧美极品少妇xxxxx| 国产超碰人人爽人人做人人爱| 日日夜夜一区二区| 91网站在线免费观看| 欧美一区二区黄片| 国产日韩欧美高清| 成人午夜免费在线视频| 92国产精品| 这里只有精品99re| 国产又粗又长又爽| 久久在线视频| 97精品国产97久久久久久免费| 久久久精品毛片| 国产精品一区二区你懂的| 久久99国产精品99久久| 午夜视频在线免费观看| 性做久久久久久久免费看| 激情网站五月天| 麻豆一二三区精品蜜桃| 精品中文字幕久久久久久| 性生交大片免费全黄| 99热这里只有精品8| 91精品免费看| 伦理片一区二区三区| 亚洲女同ⅹxx女同tv| 日韩a在线播放| 亚洲2区在线| 中文字幕在线观看日韩| 日韩毛片在线视频| 国内一区二区视频| 久久综合入口| 爱情岛论坛亚洲品质自拍视频网站| 欧美影院午夜播放| 野花社区视频在线观看| 亚洲欧美一区在线| 国产中文字幕91| 男操女在线观看| 亚洲电影在线播放| 中文字幕55页| 区一区二视频| 国产成人aa精品一区在线播放 | 91成人在线网站| 国产一区二区黑人欧美xxxx| 国产奶水涨喷在线播放| 国产精品一区二区在线观看不卡| 色中色综合成人| 中文字幕人成乱码在线观看| 精品99999| 久久久久97国产| 国产一区二区三区蝌蚪| 亚洲午夜在线观看| 日韩久久一区二区三区| 亚洲人成网站免费播放| 99视频在线看| 成人18视频日本| 免费人成自慰网站| 视频亚洲一区二区| 欧美日韩国产第一页| 国产女人高潮毛片| 亚洲欧洲制服丝袜| 色男人天堂av| 自由日本语亚洲人高潮| 亚洲影院污污.| 爆操欧美美女| 日韩女优电影在线观看| 精品99久久久久成人网站免费| 国产精品资源站在线| 天堂av免费看| 日韩av综合| 欧美老肥婆性猛交视频| www.天天干.com| 亚洲一区二区三区国产| 超碰caoprom| 一区二区精品| 欧洲精品国产| 激情久久一区二区| 久久久成人精品视频| 午夜精品久久久久久久99老熟妇| 一区二区三区在线视频免费观看 | 中文字幕日韩经典| 国产精品国产三级国产aⅴ无密码| 欧美黄色性生活| 先锋资源久久| 国产精品日韩二区| 一二三四视频在线中文| 中国人与牲禽动交精品| 国产偷拍一区二区| 午夜伦理一区二区| 日本一区二区视频在线播放| 国内精品视频一区二区三区八戒| 日韩不卡视频一区二区| 久久97精品| 国产精品www色诱视频| 国产鲁鲁视频在线观看特色| 精品美女被调教视频大全网站| 日本五十熟hd丰满| 国产亚洲美州欧州综合国| 亚洲网中文字幕| 国产精品99一区二区| 欧美高清性xxxxhd | 男女精品视频| 在线观看亚洲视频啊啊啊啊| 成人精品毛片| 国产精品第一区| 成年人黄视频在线观看| 日韩av在线网页| 夜夜躁狠狠躁日日躁av| 亚洲妇女屁股眼交7| 欧美熟妇激情一区二区三区| 国内精品视频一区二区三区八戒| 玩弄中年熟妇正在播放| 久久国产成人午夜av影院宅| 成人动漫在线视频| 天然素人一区二区视频| 国模视频一区二区| 欧美成年黄网站色视频| 日韩av在线直播| 精品国产伦一区二区三| 一本色道久久综合亚洲aⅴ蜜桃| xxxx日本少妇| 久久精品人人做人人爽97 | 99久精品国产| 亚洲黄色片免费看| 久久久久久自在自线| 日本免费a视频| 欧美3p在线观看| 蜜桃精品久久久久久久免费影院| 日韩欧美高清一区二区三区| 国产精品久久久久久久久久三级 | 国产在线观看免费| 日韩精品一区在线| 在线免费a视频| 色综合咪咪久久| 日韩欧美国产亚洲| 亚洲美女少妇撒尿| 午夜精品一区二区三级视频| 久久人人爽人人爽| 特级西西人体4444xxxx| 国产成人av电影免费在线观看| 天堂av在线8| 日韩在线卡一卡二| 国产成人无码一二三区视频| 国语对白精品一区二区| 在线观看三级网站| 91精品国产自产在线观看永久∴ | 一区二区三区四区免费| 成人免费福利片| 中国特级黄色片| 国产精品一二三四区| 免费精品99久久国产综合精品应用| 日韩在线一区二区三区| 亚洲人成无码www久久久| 国产欧美日韩综合一区在线播放 | 四虎永久免费在线| √…a在线天堂一区| 日日操免费视频| 国产肉丝袜一区二区| 干b视频在线观看| 久久九九99视频| 人妻体内射精一区二区| 久久久久久9999| 高清国产在线观看| 国产欧美精品一区| 又嫩又硬又黄又爽的视频| 国产精品区一区二区三区| 久久精品三级视频| 国产精品妹子av| a一级免费视频| 亚洲免费伊人电影| 国产亚洲精久久久久久无码77777| 亚洲激情五月婷婷| 久久精品免费在线| 欧美日韩亚洲网| 国产91国语对白在线| 在线免费观看日本欧美| 中文字幕有码视频| 555www色欧美视频| 亚洲国产精品欧美久久| 亚洲国产女人aaa毛片在线| 欧美日韩影视| 在线播放日韩欧美| 国产黄色小视频在线| 欧美高清在线视频观看不卡| 国产美女高潮在线观看| 国产脚交av在线一区二区| 黄页免费欧美| 国产精品久久波多野结衣| 久久精品福利| 日韩欧美精品一区二区| 欧美a级片视频| 国产主播自拍av| 日韩一区欧美二区| mm131亚洲精品| 国产99久久精品| 亚洲第一成人网站| 一区二区中文视频| 国产毛片aaa| 欧美久久久久中文字幕| 亚洲av无码乱码国产精品| 亚洲精品自拍第一页| 91大神在线网站| 国内精品400部情侣激情| 日本欧美韩国| 国产精品日韩一区二区三区| 亚洲激情播播| 久久久久久久久影视| 国产欧美丝祙| 污免费在线观看| 久久精品一区八戒影视| 欧美成人免费看| 在线一区二区三区四区五区| 亚洲春色一区二区三区| 一个色综合导航| aa级大片免费在线观看| 国产欧美精品一区二区三区介绍| 91综合久久爱com| 亚洲高清乱码| 国产日韩欧美一区| 男人操女人下面视频| 国产人成一区二区三区影院| 国产精品第二十页| 欧美日韩国产另类不卡| 日本中文字幕电影在线观看| 欧美大胆a视频| 91tv亚洲精品香蕉国产一区| 国产精品青青草| 91精品精品| www亚洲成人| 久久精品视频在线免费观看| 久草视频免费在线| 欧美美女一区二区| 福利小视频在线观看| 91成人性视频| av不卡一区| 黄色小视频大全| 久久国产尿小便嘘嘘| 无码一区二区三区在线| 精品久久久久久国产| www日本高清视频| 久久久精品一区| 国产精品久久久久久妇女| 久中文字幕一区| 99精品国产福利在线观看免费| 久久出品必属精品| 亚洲日本青草视频在线怡红院| 中文在线观看av| 亚洲欧洲在线视频| 综合另类专区| 久久99精品久久久久久青青日本 | 91高清视频免费观看| 成人av影音| 青春草国产视频| 成熟亚洲日本毛茸茸凸凹| 少妇久久久久久被弄高潮| 欧美一区二区三区在线电影| 免费在线看a| 亚洲免费视频成人| 欧美污在线观看| 亚洲欧洲在线观看av| 中文字幕免费在线看| 亚洲人成网站在线播| 范冰冰一级做a爰片久久毛片| 久久精品国产精品青草色艺| 国产精品久久国产愉拍| 亚洲国产精品无码久久久久高潮| 亚洲午夜电影在线| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 欧美激情视频播放| 国产欧美三级电影| 日韩av综合在线观看| 久久婷婷国产综合精品青草| 久久久久久无码精品大片| 亚洲区中文字幕| 精品国产黄a∨片高清在线| 亚洲一卡二卡三卡四卡无卡网站在线看 | 蜜桃视频一区二区三区在线观看 | 天天干,天天操,天天射| 欧美亚洲视频在线观看| 国产一区99| 最新av免费在线观看| 一区二区三区在线观看国产 | 亚洲图片制服诱惑| 丁香久久综合| 日本大胆人体视频| 91丨porny丨首页| 草莓视频18免费观看| 日韩在线播放视频| 一区二区三区免费在线看| 亚洲美免无码中文字幕在线| 国产视频一区在线播放| 国产精品久久久久毛片| 欧美激情综合亚洲一二区| 美女av一区| 一区二区三区视频在线观看免费| 亚洲同性gay激情无套| 免费看av毛片| 国产精品麻豆va在线播放| 一本一道久久a久久精品蜜桃| 日本少妇xxxx| 欧美午夜精品一区二区三区| av网站免费在线观看| 欧美精品七区| 国内成人精品2018免费看| 国产极品在线播放| 亚洲天堂2020| aiai久久| xx欧美撒尿嘘撒尿xx| 亚洲自拍与偷拍| 二区三区在线播放| 国模一区二区三区私拍视频| 免费一级片91| 奇米影视第四色777| 精品国产一区二区三区久久狼黑人 | 久久男人天堂| 精品少妇人妻av一区二区| 久久综合久久99| 亚洲国产福利视频| 国产一区二区在线免费| 国产欧美一级| 久久网中文字幕|