原创 hashMap與hashTable的區別

    首先請先閱讀這兩個的源碼。一、hashMap、hashTable都是Map接口的實現類,但是hashMap類繼承自抽象類abstractMap類,hashTable繼承自Dictionary類,該類在jdk中這樣描述:可見該類已經過

原创 從Java源碼角度徹底理解String,StringBuilder和StringBuffer的區別

原文鏈接:http://blog.csdn.net/hj7jay/article/details/52770174字符串,就是一系列字符的集合。Java裏面提供了String,StringBuffer和StringBuilder三個類來封裝

原创 try catch finally,try裏有return,finally研究

直接看代碼:代碼一:public class Test { public static void main(String[] args) { System.out.println(new Test().test()); } st

原创 Collection包結構,與Collections的區別。

Collection是集合類的上級接口,子接口主要有Set 、List、Deque。Collections是針對集合類的一個幫助類,提供了操作集合的工具方法:一系列靜態方法實現對各種集合的搜索、排序、替換和線程安全化等操作。

原创 HashMap,TreeMap以及LinkedHashMap的區別

HashMap:HashMap數據是無序的,根據鍵的hashCode進行數據的存取,對數據的訪問速度非常快,在map中插入刪除和定位元素,hashMap無疑是最好的選擇,TreeMap:裏面的數據是有序的,底層是一個紅黑樹,如果想按照自定義

原创 TCP三次握手

    傳輸控制協議(Transmission Control Protocol,TCP)是一種面向連接的、可靠的、基於字節流的運輸層(Transportlayer)通信協議。是專門爲了在不可靠的互聯網絡上提供一個可靠的端到端字節流而設計的

原创 wait與sleep的區別

(1)wait()可以指定時間也可以不指定,而sleep必須指定時間 (2)在同步中時,對於CPU的執行權和鎖的處理不同。 wait:釋放執行權,釋放鎖 sleep:釋放執行權,不釋放鎖

原创 Java中的異常處理機制

基本框架如下Java中的異常處理機制只要實現自Throwable接口,繼承關係如下:    如上圖可以看出這個機制的處理對象主要分爲兩種:主要區別error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說底層系統出新錯誤。不可能指

原创 ThreadLocal原理

什麼是ThreadLocal    該類提供了線程局部變量,就是爲每一個使用它的線程提供一個變量的副本,使每一個線程可以獨立的改變自己的副本,而不會和其它線程發生衝突。說白了就是解決對線程訪問共享資源時發生衝突的問題,也算是一種同步的方式。

原创 TCP與UDP的區別

    TCP提供的是面向連接的數據服務,而UDP是非面向連接的,因此TCP可靠性比較高,可以使數據包不出現丟包亂序,UDP的可靠性就比較低了,但是TCP可靠性高建立在巨大的網絡開銷上的,因此它的效率相對UDP要低很多。    有些應用,對

原创 Java面向對象的三個特徵與含義

我覺得只要學過OO軟件開發的,就會知道OO的三個最主要的特徵:1.封裝將事物的屬性(描述該同一事物的特徵)和行爲(描述該同一事物的操作)進行統一歸納到一個類中,好處是信息隱藏和模塊化,提高安全性。封裝的主要作用在於對外隱藏內部實現細節,增強

原创 Java多態的實現原理

參考博客:【解惑】Java動態綁定機制的內幕:http://blog.csdn.net/zero_295813128/article/details/52117737 Java 虛擬機體系結構:http://hxraid.iteye.com

原创 IO與NIO

其實並不難就是類比較多。。io與nio的區別(1)io面向流,而nio面向緩衝 java IO面向流意味着每次從流中讀一個或多個字節,直至讀取所有字節,它們沒有被緩存在任何地方,此外,他不能前後移動流中的數據,如果需要前後移動緩存中的數據,

原创 TCP相關面試題總結

1、TCP三次握手過程  wireshark抓包爲:(wireshark會將seq序號和ACK自動顯示爲相對值)           1)主機A發送標誌syn=1,隨機產生seq =1234567的數據包到服務器,主機B由syn=1知道,A

原创 TCP四次揮手

過程如下:1)主機A發送位碼爲FIN=1,用來關閉客戶A到服務器B的數據傳送。此時A的狀態爲FIN_WAIT_1 2)服務器B收到這個FIN,它發回一個ACK,確認序號爲收到的序號加1。此時A爲FIN_WAIT_2,B爲CLOSE_WAIT