原创 erlang開發入門

最先接觸erlang是在今年的年初,當時是因爲RabbitMQ而結識的erlang,瞭解後才知道的COP(Concurrency Oriented Programming)面向併發編程。 爲什麼我會決定要學習Erlang,首先是因爲我對函

原创 深入AOP原理與應用

AOP(Aspect Oriented Programming)就是面向切面編程,也是一種編程思想,接觸了JAVA是Spring框架後我才瞭解AOP,在我的工作中會經常用到,舉個存儲分層的例子,就像硬盤、內存和CPU中的寄存器,對應的高性

原创 剖析Jetty的運行原理

之前寫過一篇簡單使用Jetty的文章,Jetty對於做JAVA Web方面開發的人來說並不陌生,他是一個servlet容器,不過相對Tomcat來說設計的比較簡單,而且使用起來也比較簡單靈活,我是在學習和使用openfire時接觸的Jet

原创 淺談JAVA的線程安全與性能之間的權衡

1、StringBuffer 與 StringBuilder StringBuffer自JDK1.0就有了,繼承自AbstractStringBuilder類,是線程安全的類,推薦在多線程環境下使用;StringBuilder是JDK1.

原创 圖解MongoDB原理(二)

根據上篇文章《圖解MongoDB原理》的基本介紹,本文以具體的操作爲例繼續深入解析mongodb。 演示的所有服務都是在一臺機器上,我的目錄是F:\JAVA\MongoDB\cluster,文件結構如下: 說明:1個配置服務結點,1個路

原创 一種拼音分詞器的JAVA實現

搜索中的分詞器有很多種,包括中文、英文,一般的網站都會有站內搜索功能,也就是對用戶輸入的內容進行處理,本文對中文的全拼實現了一 個分詞器,原理很簡單,就是模式匹配。根據中文全拼的特點,即聲母和韻母配對,首先列舉出所有的聲母,再分別列舉出所

原创 文件斷點續傳原理與實現

在網絡狀況不好的情況下,對於文件的傳輸,我們希望能夠支持可以每次傳部分數據。首先從文件傳輸協議FTP和TFTP開始分析, FTP是基於TCP的,一般情況下建立兩個連接,一個負責指令,一個負責數據;而TFTP是基於UDP的,由於UDP傳輸是

原创 大規模集羣環境下的協調者Zookeeper

在大數據和雲計算普遍的今天,越來越多的應用使用了Apache下zookeeper這個利器,舉幾個家喻戶小的,像HBase,Kafka,國內阿里巴巴開源的Dubbo等。 首先來了解下zookeeper,原型是Google的Chubby,數據

原创 圖解WildFly8.x模塊化加載數據庫驅動

在上一篇中《圖解WildFly8.x配置JNDI數據源》沒有說明數據庫的驅動是如何設置的,本文以Mysql的驅動設置爲例進行詳細的補充,主要是利用JBoss的模塊化設計思想,讓系統啓動更快,更充分地利用內存。首先到modules目錄增加驅

原创 Redis的圖形界面管理工具RedisDesktopManager

Redis是一個比較常用的nosql數據庫,數據都在內存中,和傳統的關係型數據一樣,Redis也有個圖形化的管理工具:RedisDesktopManager。界面如下: 用RedisDesktopManager可以很方便地查看redis

原创 圖解MySQL5原理與架構

MySQL是比較常用的關係型數據庫,對於使用MySQL作爲存儲的系統,MySQL的優化對於系統的性能至關重要,包括SQL的優化,然而要想做好優化,首先要對其總體有所瞭解,本文淺析了MySQL的總體架構思想,讓我們更加了解MySQL。 1、

原创 探索圖論在IM集羣環境下的應用

我在工作中遇到了IM集羣環境下消息路由問題,當集羣數小時可以用內存共享的方案,當集羣結點變多時,共享的數據同步會成爲系統的瓶頸,爲此我從網絡中TCP報文的路由原理得到靈感,想了一個不用共享內存的方案,而且理論上支持大規模的集羣。 應用場景

原创 企業自建的蘋果通知推送系統的架構演進與探索

企業的APP開發中,對於蘋果設備有個獨特的通知推送功能要解決,尤其是在做移動IM時,對APNS(Apple Push Notification Service)的要求比較高,雖然有專門的第三方提供此類服務,但出於安全的考濾,有能力的公司寧

原创 圖解WildFly 8.X配置HTTPS

以前配置過tomcat的https,切換WildFly8後要配置https,然而WildFly8配置https與tomcat配置https又不相同。 1、HTTPS https是在http的基礎上增加了一層加密,常用的加密算法是RSA,非

原创 圖解MongoDB原理

MongoDB是一款非常常用的面向文檔型非關係數據庫,主要應用在微博、博客、IM等的消息存儲業務中,由於存儲的數據與金融等行業比起來並不是那麼重要,而且對事務也沒什麼要求,所以在這種場景下,MongoDB要比關係型數據庫更適合,因爲傳統的