原创 10億+PV 併發!12306 的系統也太狠了吧?

快過年了,搶票是全國人民回家團聚的最後一道坎,40年間,我國的春運人次增加了 36 億!在這場沒有硝煙的戰鬥中,你的對手不僅是“人”,還是網速,是購票平臺的後端系統…… 拿國民級購票網站 12306 來說,它承受着這

原创 牛逼!簡單的代碼提交能玩出這麼多花樣

作爲一個開發人員每天必不可少要提交代碼,但是你真的懂代碼提交嗎?這篇文章帶領大家熟悉一下常用的代碼提交方式,大家可以根據自己所在公司的開發模式對號入座。 代碼提交方式可以用一個專業術語描述:代碼工作流,在 SVN 時代

原创 萬字Java知識地圖助你成爲Offer收割機

最近很多讀者在問:Java 怎麼學習啊?有沒有什麼學習路線? 我相信這些讀者或多或少都有一些 Java 基礎,但由於看不到全貌,學了一段時間很容易迷失。所以我在尋思着能不能寫一個學習的地圖或者路線,讓讀者能知道下一步該學什麼

原创 不懂高併發,Java工程師何以脫困?

高併發有那麼邪乎嗎? 它的代名詞即是“火爆”,需要運用技術手段抵抗流量的衝擊,讓流量更平穩地被系統所處理,帶給用戶更好的體驗,但是越是火爆的平臺,對架構、負載容量的要求越高,例如在淘寶“雙十一”狂歡、春運時節搶票大潮、微博熱搜爆款新聞

原创 拜託,連項目都做不完整,還在搜程序員面試指南?

作爲一個程序員來說,簡歷可謂是面試的時候一個加分砝碼,往往有的面試者只在意自己的技術,其實這是非常不對的。   簡歷對於一個面試者來說非常重要,他是第一個入口,也是面試官認識你的第一個途徑。不管是對於剛畢業或者即將畢業,亦或者工

原创 幹掉 PowerDesigner,設計數據庫表用它就夠了

最近有個新項目剛過完需求,正式進入數據庫表結構設計階段,公司規定統一用數據建模工具 PowerDesigner。但我並不是太愛用這個工具,因爲它的功能實在是太多了,顯得很臃腫繁瑣,而平時設計表用的也就那麼幾個功能。 這裏找到一個好用的

原创 來吧,簡歷就應該這樣寫

今天來談談如何寫好簡歷,這塊敲門磚至關重要,畢竟連面試機會都沒有的話任你有萬斤力也使不出一分。 寫好一份簡歷還是得花點時間和精力的,做任何事情我們都要有目標,而簡歷的目標有兩點: 讓 HR 知曉你這個人是否匹配崗

原创 Spring Boot 集成阿里雲 OSS 進行文件存儲

最近因爲項目中需要存儲很多的圖片,不想存儲到服務器上,因此就直接選用阿里雲的對象服務(Object Storage Service,簡稱 OSS)來進行存儲,本文將介紹 Spring Boot 集成 OSS 的一個完整過程。 那麼 OSS

原创 Java 線程池中的線程複用是如何實現的? 總結

前幾天,技術羣裏有個羣友問了一個關於線程池的問題,內容如圖所示: 關於線程池相關知識可以先看下這篇:爲什麼阿里巴巴Java開發手冊中強制要求線程池不允許使用Executors創建? 那麼就來和大家探討下這個問題,在線程池中,線程會從 wor

原创 Spring Boot 集成 Swagger 構建接口文檔 總結

在應用開發過程中經常需要對其他應用或者客戶端提供 RESTful API 接口,尤其是在版本快速迭代的開發過程中,修改接口的同時還需要同步修改對應的接口文檔,這使我們總是做着重複的工作,並且如果忘記修改接口文檔,就可能造成不必要的麻煩。 爲

原创 爲什麼阿里巴巴Java開發手冊中不允許魔法值出現在代碼中? 總結

在閱讀《阿里巴巴Java開發手冊》時,發現有一條關於關於常量定義的規約,具體內容如下: 圖中的反例是將數據緩存起來,並使用魔法值加鏈路 id 組成 key,這就可能會出現其他開發人員在複製粘貼的時候,少複製 _ 的情況發生,這種錯誤很難去檢

原创 編譯器:人家就要亂來! 總結

在一男子給對象轉賬5000元,居然又退還了!和我就站在你面前,你卻視而不見!文中,我們學習了線程安全的原子性和可見性,這篇文章就來說說有序性。 有序性 首先還是來看下概念,有序性就是指代碼按照編寫順序執行。 大家可能會有疑問,難道還會出現亂

原创 Spring Boot 集成 Flyway 實現數據庫版本控制 總結

在項目迭代開發中,難免會有更新數據庫 Schema 的情況,比如添加新表、在表中增加字段或者刪除字段等,那麼當我對數據庫進行一系列操作後,如何快速地在其他同事的電腦上同步?如何在測試/生產服務器上快速同步? 每次發版的時候,由於大家都可能

原创 爲什麼阿里巴巴Java開發手冊中強制要求接口返回值不允許使用枚舉? 總結

在閱讀《阿里巴巴Java開發手冊》時,發現有一條關於二方庫依賴中接口返回值不允許使用枚舉類型的規約,具體內容如下: 在談論爲什麼之前先來科普下什麼是二方庫,二方庫也稱作二方包,一般指公司內部發布到中央倉庫,可供公司內部其他應用依賴的庫(ja

原创 性能調優必備利器之 JMH 總結

if 快還是 switch 快?HashMap 的初始化 size 要不要指定,指定之後性能可以提高多少?各種序列化方法哪個耗時更短? 無論出自何種原因需要進行性能評估,量化指標總是必要的。 在大部分場合,簡單地回答誰快誰慢是遠遠不夠的,如