原创 如何設計一個開放平臺openapi?

1. 爲什麼要建開放平臺 從05年開始隨着web2.0技術的快速發展,硅谷掀起了開放平臺openapi的一股熱潮,google開放了map api,還有很多互聯網公司也推出了開放平臺,但是真正引起人們注意的是twitter開放了社

原创 Redis緩存擊穿、雪崩、穿透!(超詳細)

緩存的擊穿、穿透和雪崩應該是再熟悉不過的詞了,也是面試常問的高頻試題。 不過,對於這三大緩存的問題,有很多人背過了解決方案,卻少有人能把思路給理清的。 而且,網絡上仍然充斥着,大量不太靠譜的解決方案,難免誤人子弟。 我的這篇文章,

原创 分佈式消息通信ActiveMQ

課程目標 持久化消息和非持久化消息的發送策略 消息的持久化方案及實踐 消費端消費消息的原理 關於PrefetchSize的優化 1、持久化消息和非持久化消息的發送策略 1.1、消息同步發送和異步發送 ActiveMQ支持同步、

原创 深度剖析 MySQL 事務隔離!

深度剖析 MySQL 事務隔離!概述隔離級別MVCC一致性非鎖定讀和鎖定讀鎖總結 概述 今天主要分享下MySQL事務隔離級別的實現原理,因爲只有InnoDB支持事務,所以這裏的事務隔離級別是指InnoDB下的事務隔離級別。 隔離級

原创 HashMap 全面解析

HashMap 全面解析一、什麼是哈希表數組:線性鏈表:二叉樹:哈希表:哈希衝突二、HashMap實現原理幾個重要字段構造器put操作的實現hash函數addEntry的實現三、爲何HashMap的數組長度一定是2的次冪?resize

原创 java 高併發 之 鎖

java 中主要鎖的區別及使用場景synchronizedReentrantLockReentrantReadWriteLockStampedLock使用場景選擇 synchronized synchronized 是屬於聲明式加鎖,

原创 java 高併發 之 線程池(Executor)

java 中線程池(Executor)及使用場景爲什麼需要線程池?使用線程池的好處Executor接口Executors類newFixedThreadPool()newCachedThreadPool()newSingleThread

原创 MySQL數據庫優化的幾種方式

1、選取最適用的字段屬性 MySQL可以很好的支持大數據量的存取,但是一般說來,數據庫中的表越小,在它上面執行的查詢也就會越快。因此,在創建表的時候,爲了獲得更好的性能,我們可以將表中字段的寬度設得儘可能小。 例如,在定義郵政編碼這個

原创 (轉)關於PermGenSpace內存溢出解決方案

(轉)關於PermGenSpace內存溢出解決方案 啓動tomcat沒有問題,並且還能夠訪問,但是當你訪問的頁面越來越多的時候,會突然間蹦出一個PermGen space內存溢出的異常。其實這個問題看起來是很簡單的,只要修改一下永久域

原创 淺入java架構-Filter-篡改RequestBody

淺入java架構-Filter-篡改RequestBody沒幹過幾年的朋友,一定會問:爲啥要篡改RequestBody?這裏筆者不想過多解釋了,列舉個場景:eg:一個大型項目,分爲N個模塊去開發,分別在東北、華北、華東都有研發中心,其中系

原创 淺入java架構-Adapter-適配器的運用

淺入java架構-Adapter-適配器的運用 馬上更新。。。

原创 淺入java架構-Aspect-日誌處理

淺入java架構-Aspect-日誌處理很多的架構師,或者高級程序員在面試新人的時候,都會在架構方面問一個非常常見且十分經典的知識:那就是怎樣設計系統日誌輸出程序。毫無疑問,面試官想了解面試者的spring中aspect的編程思想及在程序

原创 淺入java架構-Aspect-短信驗證預處理

淺入java架構-Aspect-短信驗證預處理問題:    當今的軟件產品,無論是互聯網系統還是傳統軟件系統,對於消息的通知,短信佔有比例還是很大的。並且在各種場景都需要,比如:支付、下訂單、認證,等等。那麼對於這種使用及其平凡且與具體的

原创 再談java自定義異常(Exception)

再談java自定義異常(Exception)java學習書籍上,必然對java異常進行很詳細的介紹,這裏筆者不必再累述;如今分佈式系統設計已經深入普及到我們工作擋住,隨着系統的服務逐漸模塊化,業務的複雜度日益增加,那麼對異常的處理即打印異