原创 HTTP客戶端演進之路

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 瞎掰負載:基本原理和冗餘 keepalived

網上對負載的文章很多,理論還是實踐配置,這裏只粗粗談一談自己的理解。沒有創新,只有總結。先看一下產品總列:   一 軟件負載   四層負載: LVS (Linux Virtual Server) HAProxy (High Availab

原创 瞎掰 maven與架構的關係

maven與架構兩個案例項目代碼分層版本衝突仲裁默認解決依賴衝突:手動解決衝突無法解決的衝突最佳實踐案例一的最佳實踐案例二的最佳實踐瞎掰工具與架構 兩個案例 項目代碼分層 很多同學在代碼結構分層上會參考 開放接口層:可直接封裝

原创 瞎掰事務(一):四大特性立體關係剖析

四大特性 A–原子性,事務中所有操作是不可再分割的原子單位。事務中所有操作要麼全部執行成功,要麼全部執行失敗; C–一致性,事務執行後,數據庫狀態與其它業務規則保持一致; I–隔離性,指在併發操作中,不同事務之間應該隔離開來,使每

原创 瞎掰JVM:內存模型

0. 瞎掰 一切都從人類語言可以虛構和想象開始。抽象是爲了什麼,個人感覺是爲了更好的傳播和繼承。我常去問別人你的容器是什麼,你的模型是什麼,其實就是想交流程序跑起來的基礎環境是什麼。如果你還沒有基於非常底層的硬件開發,那麼請接受一

原创 瞎掰JVM:內存結構---垃圾回收(一)

上一篇主要記錄了JAVA的內存模型,主要爲虛擬機詮釋內存控制的主要概念,是併發場景編程的基礎。下面記錄一下內存的垃圾回收,是虛擬機性能調優和錯誤診斷方面的基礎。 垃圾在各代上分別回收,年輕代上發生的回收叫Minor GC ,發生一次GC的

原创 瞎掰JVM:內存結構---垃圾回收(二)

更深入的瞭解JAVA:內存結構---垃圾回收一主要記錄了收集器被觸發的條件,這是JVM性能調優的基礎。如果您想做到有的放矢或者遇到問題時更精準的把握問題,這些應該需要了解。 下面秉承上篇記錄一下垃圾收集器。   名稱 線程 新生

原创 瞎掰事務(二):spring事務

瞎掰事務(二)spring事務事務的定義事務的擴展傳播行爲 事務的定義 上文中從數據庫,spring 框架和系統三個層級的角度解析了事務的四大特性。每個層級都有對事務的處理機制和定義:數據庫完成了事務持久性和隔離性。 持久性主要通

原创 瞎掰JVM:內存結構---垃圾回收(三)

前面介紹了回收觸發的時機和各類收集器。如何選擇各類收集類,下面是5個參考標準: 優先調整堆的大小讓服務器自己來選擇 如果內存小於100M,使用串行收集器 如果是單核,並且沒有停頓時間的要求,串行或JVM自己選擇 如果允許停頓時間超過1秒,

原创 瞎掰JAVA:執行引擎(一)

一 指令編譯   javac編譯器完成了詞法分析、語法分析以及抽象語法樹的過程,最終遍歷語法樹生成線性字節碼指令流的過程,此過程發生在虛擬機外部,也常常被叫做前端編譯器。 二 指令執行   解釋執行:將編譯好的字節碼一行一行地翻譯爲機

原创 maven與架構

maven與架構兩個案例項目代碼分層版本衝突仲裁默認解決依賴衝突:手動解決衝突無法解決的衝突最佳實踐案例一的最佳實踐案例二的最佳實踐瞎掰工具與架構 兩個案例 項目代碼分層 很多同學在代碼結構分層上會參考 開放接口層:可直接封裝

原创 MDD 建模驅動設計

搭建中臺缺少方法論或者實踐? 系統開發者最終的實現與產品設計常常出現偏差? 系統開發者帶着產品在跑設計? 每個開發者對業務理解不同,實現不同,在人員交替的時候代碼邏輯分支太多? 項目干係人溝通缺少共同的語義,理解不一致? 那期待您