原创 使用 Jersey 和 Apache Tomcat 構建 RESTful Web 服務

RESTful Web 服務簡介 REST 在 2000 年由 Roy Fielding 在博士論文中提出,他是 HTTP 規範 1.0 和 1.1 版的首席作者之一。 REST 中最重要的概念是資源(resources),使用全球 ID

原创 淺談TCP優化

淺談TCP優化 很多人常常對TCP優化有一種霧裏看花的感覺,實際上只要理解了TCP的運行方式就能掀開它的神祕面紗。Ilya Grigorik 在「High Performance Browser Networking」中做了很多

原创 HashMap實現原理分析

1. HashMap的數據結構 數據結構中有數組和鏈表來實現對數據的存儲,但這兩者基本上是兩個極端。       數組 數組存儲區間是連續的,佔用內存嚴重,故空間複雜的很大。但數組的二分查找時間複雜度小,爲O(1);數組的特點是:尋址

原创 http啞代理

一.TCP連接 TCP爲HTTP提供了一條可靠的比特傳輸管道。從TCP連接一端填入的字節會從另一端以原有的順序、正確地傳送出來。 TCP的數據是通過名爲IP分組(或IP數據報)的小數據塊來發送的。

原创 java併發:同步容器&併發容器

第一節、同步容器與併發容器 1.簡述同步容器與併發容器   在Java併發編程中,經常聽到同步容器、併發容器之說,那什麼是同步容器與併發容器呢?同步容器可以簡單地理解爲通過synchronized來實現同步的容器,比如Vector、

原创 UDP有邊界,一次一包;TCP是字節流,需要應用層自己判斷包邊界

UDP是有邊界的,應用層要整包地收,一次只能收一包,每次接收的要麼是一個獨立的完整的數據包,要麼什麼也接收不到。 TCP是無邊界的,是字節流,需要應用層自己判斷包邊界,一次不一定能收幾包,也不一定是完整的包。

原创 Hadoop、Storm、Spark這三個大數據平臺有啥區別,各有啥應用場景?

Storm與Spark、Hadoop這三種框架,各有各的優點,每個框架都有自己的最佳應用場景。所以,在不同的應用場景下,應該選擇不同的框架。Storm是最佳的流式計算框架,Storm由Java和Clojure寫成,Storm的優點是全

原创 ZooKeeper原理及使用

     ZooKeeper是Hadoop Ecosystem中非常重要的組件,它的主要功能是爲分佈式系統提供一致性協調(Coordination)服務,與之對應的Google的類似服務叫Chubby。今天這篇文章分爲三個部分來介紹Z

原创 CentOS7 Failed to start LSB: Bring up/down解決方法

剛剛裝好的虛擬機突然不能上網了,報錯很詭異,具體報錯如下: /etc/init.d/network restart Restarting network (via systemctl):  Job for network.

原创 Linux網卡的配置

Linux系統版本:Centos 6.5 Linux系統版本:Centos 7 前面,我們使用遠程工具SecureCRT,通過“ifconfig eth0 + 具體的ip地址”命令給linux配了IP地址(參考本人博客:遠程登錄管理

原创 java基礎知識3--如何獲取資源文件(Java中獲取資源文件的url)

java開發中,常見的resource文件有:.xml,.properties,.txt文件等,後臺開發中經常用到讀取資源文件,處理業務邏輯,然後返回結果。獲取資源文件的方法說明getResource()返回:URL getResour

原创 spring的啓動過程——spring和springMVC父子容器的原理

         要想很好理解這三個上下文的關係,需要先熟悉spring是怎樣在web容器中啓動起來的。spring的啓動過程其實就是其IoC容器的啓動過程,對於web程序,IoC容器啓動過程即是建立上下文的過程。 spring的啓

原创 JVM參數設置、分析

       不管是YGC還是Full GC,GC過程中都會對導致程序運行中中斷,正確的選擇不同的GC策略,調整JVM、GC的參數,可以極大的減少由於GC工作,而導致的程序運行中斷方面的問題,進而適當的提高Java程序的工作效率。但是

原创 jvm調優--查找最耗CPU的代碼

jvm調優--查找最耗CPU的代碼 1.場景 今天在公司用mvn編譯的時候,出現機器卡死的情況,讓我深深的反省了一下。 [java] view plain copy ../apache-maven-3.0.5/

原创 Spring MVC的異步模式

Spring MVC的異步模式 我承認有些標題黨了,不過話說這樣其實也沒錯,關於“異步”處理的文章已經不少,代碼例子也能找到很多,但我還是打算髮表這篇我寫了好長一段時間,卻一直沒發表的文章,以一個更簡單的視角,把異步模式講清楚。