原创 慢查詢導致API服務雪崩案例分析

爲什麼要做這個案例分析? 因爲在其他同學已經找到問題代碼並修復後,我還沒有徹底弄明白下面這2個問題:   1.爲什麼是這段代碼導致的?   2.爲什麼看起來跟問題代碼無關的接口也受影響變得惡化,這段代碼到底是如何造成整個服務雪崩的

原创 《分佈式服務架構:原理、設計與實戰》

1 分佈式微服務架構設計原理 1.1 從傳統單體架構到服務化架構 JEE架構 針對企業級應用定義,進行了邏輯分層,包括Web層、業務邏輯層、數據存取層,大多數項目仍然部署在同一個應用服務器上的一個JVM進程中。 SSH架構 仍然以

原创 【Java內存溢出排查】gc監測以及內存突增問題排查

前情提要 文檔:【Java內存溢出排查】測試環境服務器掛... 鏈接:http://note.youdao.com/noteshare?id=783e7ec89950f4167867ef3ef33470b6&sub=48AEFC6FDEC

原创 TreeSet唯一性以及有序性底層剖析

TreeSet底層原理 TreeSet底層數據結構是紅黑樹(一種自平衡的二叉樹,自平衡是指如果有空的左/右子樹,元素會先入空的左/右子樹,而不會一直往一個方方向添加元素出現不平衡現象)。 該自平衡二叉樹保證了元素的有序性(存儲邏輯順序)

原创 數據結構-二叉排序樹

如果需要一個滿足: 支持排序性、高效插入、刪除操作、高效查找的數據結構,怎麼做? 先看看一些簡單的數據結構: 1)排序順序表(數組):查找可以採用折半查找算法,時間效率爲O(log2n);插入、刪除操作的時間複雜度爲O(n),數據量大

原创 使用spring mvc 4.2.x.jar ClassNotFoundException:org.springframework.web.cors.CorsConfigurationSource

使用spring mvc的包時,如果選擇了4.2.x及以上版本,在控制器中調用RequestMapping("")註解時 啓動Tomcat報錯:ClassNotFoundException:org.springframework.web.

原创 Struts2 頁面url請求如何找action

1.我們使用最原始的方法去查找action,不同註解。 struts.xml文件先配置 <!-- 新聞信息action -->  <action name="newsInfoAction" class="com.xxx.NewsIn

原创 HashMap的put、get方法分析與Hash衝突的分析、解決

1.HashMap的實現原理 簡單地說,HashMap就是將key做hash算法,然後將hash值映射到內存地址,直接取得key所對應的數據。在HashMap中,底層數據結構使用的是數組,所謂的內存地址即數組的下標索引。afHashMap

原创 關於如何使用Jeesite快速開發筆記

一、搭建環境: 1、這是我的Eclipse、Maven等環境,此步驟略過。 注意:以前試過jdk1.6以上都可以使用jeesite 2、下載最新版本jeesite源碼: 下載地址: [GitHub/jeesite]

原创 spring中配置log4j

以前都是直接用log4j,重來沒自已配置過,學習一下如何在spring環境中配置log4j。 第一步:添加log4j的相關包,這個步驟對於spring環境可以省了,應該已經有了。 第二步:在spring的環境中添加log4j

原创 win7 X64 安裝Oracle VM VirtualBox後無法創建com對象問題(已解決)

今天放棄Android自帶的模擬器,想起裝一個Genymotion來使使(Genymotion可以說是一款Android模擬器神器哦。。。) 我機器是win 7 64位,安裝完成之後打開VM VirtualBox報如下錯誤: 於是在網

原创 Struts2 Result-type(封裝Action層到View層的跳轉邏輯)

Struts2將Result列爲一個獨立的層次,可以說是整個Struts2的Action層架構設計中的另外一個精華所在。Result之所以成爲一個層次,其實 是爲了解決MVC框架中,如何從Control層轉向View層這樣一個問題而存在

原创 Java HashMap的hash和indexFor函數

此文章,我們將一起了解一下hash和indexFor方法在hashmap內部起什麼作用。hash和indexFor方法屬於HashMap類,爲什麼JDK開發者在key對象已經有他自己的hashcode方法的情況下還需要另一個hash函數

原创 電話號碼等常見的正則表達式

/^(13[0-9]|15[0|1|3|6|7|8|9]|18[8|9])\d{8}$/  這個靈活性好! ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-