原创 小白從頭到腳搭建zookeeper集羣的過程

zookeeper的字面意思爲動物園管理員,正如他的名字,各個子系統能正常爲用戶提供統一的服務。並且還可以作爲Dubbo的註冊中心來使用。今天進行了一番centos的安裝到zookeeper集羣的搭建,也遇到不少坑。特此記錄下

原创 詳解jdbcTemplate和namedParameterJdbcTemplate

我們開發DAO層時用的最多的就是ORM框架(Mybatis,hibernate)了。在有些特殊的情況下,ORM框架的搭建略顯笨重,這時最好的選擇就是Spring中的jdbcTemplate了。本文對jdbcTemplate進行

原创 Dubbo初體驗:遠程服務調用和管控臺的搭建

Dubbo是一個阿里巴巴的分佈式服務框架。雖然在很久以前阿里停止更新了,但是還是有很多公司在使用它。Dubbo致力於提供高性能和透明化的RPC遠程服務調用方案以及SOA服務治理方案。通過他我們可以非常容易地通過Dubbo來構建

原创 Spring中的ApplicationContextAware接口的使用

最近在看項目代碼時發現一個類在項目各個地方都能進行調用,仔細研究後發現這個類實現了ApplicationContextAware這個接口,這個接口可以很方便的獲取到Spring的上下文applicationContext。現在

原创 手把手教你使用hexo搭建屬於你的個人博客

前言 每當看到別人精美的個人博客時,不知你是否有一點點的羨慕。別急,現在我就來手把手教你搭建自己的個人博客。 在技術日趨成熟的今天,有着很多種快速生成博客的框架:Hexo,Jekyll,Wordpress等等。今天我們就用H

原创 記錄:使用IDEA搭建Maven+SSM的過程

前言 IntelliJ IDEA被認爲是當前 Java 開發效率最快的 IDE 工具。份額已經逐漸超越Eclipse。一直使用Eclipse的我也不禁想嚐嚐鮮,之前簡單的使用它搭建了一下SSM環境,現在把他記錄下來。 新建

原创 Hexo騷操作:主題配置|搜索|評論|統計|圖牀

前言 相信各位在看過上一篇blog手把手教你使用hexo搭建屬於你的個人博客後已經初步搭建了屬於自己的博客,不過細心的你可能已經發現這樣的博客還是缺點什麼,現在就來說說Hexo的騷操作:添加主題、統計、評論等等等等。 承

原创 應對大併發

高併發是我們現在老生常談的內容了,這裏我們以秒殺爲例,來聊聊怎麼應對大併發。 一、秒殺帶來的問題 在高併發秒殺的情況下,一般會有以下問題: 1、高併發 比較火熱的秒殺在線人數都是10w起的,如此之高的在線人數對於網站架構從前到

原创 (轉載)JAVA併發編程(八):併發容器(CopyOnWriteArrayList)

Copy-On-Write簡稱COW,是一種用於程序設計中的優化策略。其基本思路是,從一開始大家都在共享同一個內容,當某個人想要修改這個內容的時候,纔會真正把內容Copy出去形成一個新的內容然後再改,這是一種延時懶惰策略。從JDK

原创 JAVA併發編程(七):併發容器(ConcurrentHashMap)

我們上節講了HashMap,實際上HashMap並不是線程安全的,在併發插入元素的時候有可能出現環形鏈表,讓下一次讀操作出現死循環。解決的辦法就是使用線程安全的容器,除了Collections提供的synchronizedMap同

原创 深入理解HashMap

HashMap是我們使用非常多的Collection,它是基於哈希表的 Map 接口的實現,以key-value的形式存在。今天我們來深入瞭解一下這個集合的底層原理。 衆所周知,HashMap是一個用於存儲Key-Value

原创 Java設計模式之單例模式的究極版寫法

單例模式可能是後端學習者接觸到的第一種設計模式,可是單例模式真的有那麼簡單嗎?在併發模式下會出現什麼樣的問題?在學習了前面的併發知識後,我們來看看究極版的單例模式應該怎麼寫。 一、單例模式第一版 我們最初接觸到的單例模式一般

原创 (轉載)JAVA併發編程(四):線程池的使用

如果併發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁創建線程就會大大降低系統的效率,因爲頻繁創建線程和銷燬線程需要時間。那麼有沒有一種辦法使得線程可以複用,就是執行完一個任務,並不被銷燬,而是可以繼續執行其

原创 (轉載)Java設計模式之代理模式

設計模式是語言的表達方式,它能讓語言輕便而富有內涵、易讀卻功能強大。代理模式在Java中十分常見,有爲擴展某些類的功能而使用靜態代理,也有如Spring實現AOP而使用動態代理,更有RPC實現中使用的調用端調用的代理服務。代理模型除了

原创 JAVA併發編程(六):線程本地變量ThreadLocal與TransmittableThreadLocal

我們知道有時候一個對象的共享變量會被多個線程所訪問,這時就會有線程安全問題。當然我們可以使用synchorinized 關鍵字來爲此變量加鎖,進行同步處理。從而限制只能有一個線程來使用此變量,但是加鎖會大大影響程序執行效率,此外我們還