原创 拋出自定義異常,spring AOP事務不回滾的解決方案

Spring AOP 默認對RuntimeException()異常或是其子類進行事務回滾,也就是說 事務回滾:throw new RuntimeException("xxxxxxxxxxxx");  事物不回滾:throw new E

原创 關於ECDSA/ECC(密鑰加密傳輸)和ECDSA/ECDH(密鑰磋商)

最近項目中用到了ECC的相關算法,惡補了一下相關知識 ECC:Elliptic Curves Cryptography,橢圓曲線密碼編碼學 ECDSA:用於數字簽名,是ECC與DSA的結合,整個簽名過程與DSA類似,所不一樣的是簽名中採

原创 grpc的java實現,從無到有

1、Eclipse創建Maven項目 新建一個空的maven工程(不選archetype)。 2、修改POM文件 增加grpc的依賴 <dependencies> <dependency> <groupI

原创 深入理解Java 8 Lambda(語言篇——lambda,方法引用,目標類型和默認方法)

引用:http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features/關於深入理解 Java 8 Lambda(語言篇——lambda,方法引用,目標類型和默認方法)

原创 SpringCloud實現原理圖

引用:https://m.imooc.com/article/23679 引言 面試中面試官喜歡問組件的實現原理,尤其是常用技術,我們平時使用了SpringCloud還需要了解它的實現原理,這樣不僅起到舉一反三的作用,還能幫助輕鬆應對各種

原创 SpringCloud微服務(原理篇)

引用:https://blog.csdn.net/shinlyzsljay/article/details/79162270 SpringCloud微服務 微服務的模式和形式我在前面已經進行部分的提及,但是一直沒落實到技術層面,這段時間我

原创 從0到1,打造DevOps易用工具鏈(精挑細選27種)

從0到1,打造DevOps易用工具鏈(精挑細選27種) DevOps是一種文化,但創立或改變文化技術和工具必不可少,今天小數就和大家分享下覆蓋整個生命週期的易用工具鏈。 DevOps操作上越來越成熟不是一蹴而就的,而是使用了一些新的

原创 通過openssl生成nginx和tomcat的https通訊雙向證書

前提:nginx作爲服務端,java httpclient作爲客戶端nginx需要增加nginx ssl的模塊:./configure --prefix=/usr/local/nginx --with-http_stub_status_m

原创 在redis cluster中key帶大括號的rpoplpush操作結論

之前的redis的是採用redis sentinel來搭建HA,後來改用了redis cluster。以前的業務使用到了rpoplpush方法,之前的代碼版本測試也都是OK。前幾天需要做個業務測試,就手動造了幾條數據,然後使用redis自

原创 spring4+mybatis出現AOP方法結束後,事務不釋放連接,導致連接數被用完的案例分析

現象:在進行壓測的時候,出現了數據庫連接數被用完的情況經過日誌分析,發現是因爲在一個線程業務啓動後,在首次開啓事務後,並沒有在AOP的方法結束後進行釋放,而是一直到線程結束才釋放了連接。日誌如下圖所示:經過分析,一開始以爲是出現了鎖的問題

原创 線程wait和notify報錯java.lang.IllegalMonitorStateException

本質上就是:sleep是Thread類的方法,wait是Object類中定義的方法 JavaDoc中說到: A thread becomes the owner of the object's monitor in one of t

原创 關於Spring Data redis幾種對象序列化的比較

引用:http://stamen.iteye.com/blog/1907984 問題     最近在整一個spring data redis,網上有一本《Spring Data》的電子書(我一個朋友正在翻譯,應該今年會有中文版出來,人郵

原创 Java壓縮算法性能比較

引用:https://my.oschina.net/OutOfMemory/blog/805427?from=20161218 前言 遊戲開發中,經常在玩家進入遊戲的時候進行必要的信息初始化,往往這個初始化信息數據包是相對來說還是比較

原创 高併發時,JVM調優

現象:在分佈式部署時,單個服務的虛擬機不斷變大,直到內存被用的所剩無幾,然後出現各種各樣的異常解決思路:優化虛擬機堆的空間大小,根據實際物理內存的大小進行比例分配,並且,堆不進行自動擴展。然後使用ParNew+CMS進行垃圾回收,在多線程

原创 【spring】關於location路徑的設置(相對路徑和絕對路徑)

引用:http://blog.csdn.net/szwangdf/article/details/43969445 1、相對路徑 可以通過classpath和classpath*設置、如:  <bean id="sqlSessi