原创 樂觀鎖的使用場景

樂觀鎖是一種輕量級鎖,在併發競爭不激烈的場景下,我們可以使用樂觀鎖來保證線程安全。 我們來看一個場景:定時job如何做併發控制,保證只有一臺服務器執行? 這個場景其實很適合使用樂觀鎖,因爲我們的跑job的服務器節點不會太多,可能就幾臺,幾

原创 自動生成小工具(一):根據建表sql自動生成對應的model.java文件

Talk is cheap,show me the code.   /**  * 功能:根據提供的數據庫表結構文件(.sql文件),自動生成對應的model類。  *  * 根據數據庫表的建表語句,生成對應的實體類。  * JDK版本1.

原创 你們項目平時怎麼做數據庫性能優化的?

這裏簡單總結一下,常用的幾種性能優化方案: 1,sql語句優化,基於sql語法層面的優化。 2,表連接的優化。 3,使用臨時表。 4,批量代替單條。 5,索引。 6,分庫分表。   這裏重點說一下以下幾點:   一,使用臨時表   Ora

原创 如何在lambda內部修改外部局部變量的值/如何用lambda重構for循環計數

Talk is cheap, show me your code! 看一段代碼:   /** * 在lambda表達式內部,修改lambda表達式外部的局部變量的值 */ private synchronized void upd

原创 自動生成小工具(二):根據建表sql自動生成增刪改查sql語句文件

Mybatis自動生成插件雖然功能強大,但是也略顯笨重。我自己開發了一個自動生成的小工具,更加簡單,更加輕量級。 一共只有幾百行代碼,想改的話,直接修改即可。根據自己的實際情況,可以進行靈活的二次開發。 Talk is cheap,sh

原创 大話微服務配置中心:Eureka Server與Eureka Client的契約(Lease.class)

Eureka Server與Eureka Client之間簽訂了一個契約(Lease.class),這是它們之間正常運轉的根基。 寒來暑往,年復一年,由於契約的存在,微服務系統得以提供穩定的發現註冊服務。 以心跳續約爲例,Eureka C

原创 如何解決maven衝突?

如何解決maven衝突   maven衝突分兩類:顯式衝突和隱式衝突。   顯式衝突:maven文件中直接以<dependency></dependency>標籤引入了相同的jar包,這種情況下的衝突,我們稱之爲顯式衝突。 隱式衝突:<d

原创 java異常信息捕獲:爲什麼不建議使用e.printStackTrace()

 考考大家: e.printStackTrace() 會把堆棧異常信息寫到哪裏: 1,磁盤 2,內存 3,文件   這個問題答案不難,但是你搞清楚了以後,就不會再這樣打印日誌了。--------> 正確答案見下面的留言。 畢竟,內存貴啊,

原创 附代碼:java導出的CSV文件中,字段內容中包含分隔符(如英文逗號,英文雙引號)的處理方案

  Talk is cheap, show me the code.   /** * CSV字段內容中包含分隔符(如英文逗號,英文雙引號)的處理方案 * * 字段中包含有英文逗號,該字段必須用英文雙引號括起來 * 字段中包含有

原创 Spring Cloud Ribbon負載均衡策略詳解

Spring Cloud Ribbon負載均衡策略詳解。 Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載均衡工具,它基於Netflix Ribbon實現,Spring Cloud集成了Netflix Ribb

原创 自己動手,使用Spring Initializr從零開始搭建Spring Cloud項目

  新建Project   這裏使用的開發工具是IDEA,JDK版本1.8。 打開IDEA開發工具,File -> New -> Project    然後一步步往下設置,然後到這一步,選擇Spring Cloud   OK,繼續一路

原创 Spring事務UnexpectedRollbackException異常拋出原因深度分析及解決方案

Transaction rolled back because it has been marked as rollback-only, 中文翻譯爲:事務已回滾,因爲它被標記成了只回滾。   這個異常,相信寫代碼多年的大家,都遇到過,什麼

原创 Slf4j + logback 打印日誌的最佳實踐

  我們拋開業務邏輯,僅僅從日誌的角度來考慮日誌問題。集合最近對項目的日誌優化,總結以下幾點最佳實踐。   Slf4j + logback 打印日誌的最佳實踐 1,日誌級別使用不當 2,謹慎使用e.printStackTrace() 3,

原创 Spring Cloud如何優雅打印日誌:slf4j+logback

最近在對項目的日誌進行優化,主要是如何減少不必要的日誌輸出,如何優化日誌輸出的性能, 以及當前code中,一些不規範的日誌輸出代碼的優化。基於此,對java日誌進行了一個系統的梳理。 今天這裏,主要分享一個點,乾貨!具體的理論就不再重複搬

原创 Spring Cloud環境下多數據源的配置要點(實戰)

  最近在搭建Spring Cloud新項目,遇到了這個問題,記錄一下,以饗讀者。   關於怎麼配置多數據源,這裏不再贅述,簡單來說,就是配置多個bean,每個bean對應一個數據源。 有不懂的讀者,可以參考我之前的一篇博客,或者在網上搜