原创 Netty 中的緩衝區 ByteBuf結構和常用API

ByteBuf有兩個指針,一個對應讀操作一個對應寫操作。當你向ByteBuf裏寫入數據的時候寫指針的索引就會增加,同時讀指針的索引沒有變化。讀指針索引和寫指針索引分別代表了消息的開始和結束。所以ByteBuf不需要切換讀寫模式。

原创 Netty實例

客戶端可以主動的給服務端發送消息,服務端收到消息之後將消息打印到控制檯上,然後將消息返回復給客戶端 public class NettyClient { public static void main(String[] a

原创 關於方法區、永久代、常量池之間的關係

1、方法區是幹嘛的? 方法區(Mathod area)和堆一樣,都是各個線程共享的,它用於儲存虛擬機加載的:類信息+普通常量+靜態常量+編譯器編譯後的代碼等待, 2、方法區在哪? JVM規定將方法區劃歸爲堆的一個邏輯部分,可是他還

原创 MyBatis初探

第一個mybatis程序 總結一下大體步驟: 1、導包 2、在數據庫中創建表 3、在ide中創建javabeen實體類,和數據庫中的表對應 4、配置mybatis的全局配置文件 5、配置xml映射文件 6、測試類 7、遇到的問題

原创 ConcurrentHashMap在jdk1.7和jdk1.8中的不同;

原博客: https://www.cnblogs.com/lujiango/p/7580558.html http://www.importnew.com/28263.html CouncurrentHashMap 線程安全 一、

原创 操作線程常用的方法

1、多線程的基礎方法探究 start( ) 注意:不能重複使用 成員方法: 啓動此線程,自動調用run()方法 返回值: void run( ) native 方法 成員方法: 執行內容 返回值; void yiel

原创 緩衝流

一、緩衝流 作用: 加速數據讀取和寫入的速度 原因: 因爲緩衝流在用戶空間開闢了指定大小緩存, 然後使用一次性的從內核空間中讀取指定緩存大小的字節,然後使用read方法返回,減少了用戶狀態和內核狀態之間的切換,所以減少了時間。 字節緩

原创 對象輸入輸出流 ObjectInputStream、ObjectOutputStream

一、對象操作: ObjectInputStream 構造方法: 繼承關係: 繼承於:OutputStream 主要方法: Object readObject() 讀取一個對象。 序列化操作的特有方法 ObjectOutpu

原创 File文件類

ava.io包中 知識鋪墊 相對路徑:在當前路徑下創建的路徑 絕對路徑: 帶盤符的完整路徑 1、構造函數 File(File parent, String child)從父抽象路徑名和子路徑名字符串創建新的 File實例。 File(

原创 字節流基類的探究

字節流基類包括 inputStream 和 outputStream 兩個基類。 一、inputStream 的使用; inputStream是抽象基類,不能直接拿過來使用,必須使用它的具體實現類,比如FileInputStrea

原创 比較器的使用

比較器:comparator 和comparable的使用; comparator 的使用: 直接創建comparator對象,然後使用匿名內部類重寫comapre方法; TreeSet<Integer> t = new TreeSe

原创 PriorityQueue

優先級隊列: PriorityQueue 1、特點: 不能添加null元素 可重複 默認構建的是小頂堆 2、應用場景: 查找數據中前100大的數據; 查找數據中前100小的數據; 3、數據結構:object[ ]數組 大根堆,小根

原创 LinkedHashMap

1、特點: (1)、鍵有序:可選插入有序或者訪問有序 《《《《《主要特點:默認插入有序 (2)、以鍵值對<k,v>的形式儲存 (3)、鍵不能重複,如果重複,新的值會覆蓋舊的值; (4)、鍵可以爲有一個爲null,值可以多個爲nul

原创 hashSet初探

1、特點: 存儲的是單個值 值不能重複、 可有一個null、 鍵有序(訪問有序、插入有序) 自動去重:底層調用的是HashMap,所以元素不能重複 如果是自定義元素,必須重寫hashcode方法和equals方法; 2、數據結構:底層

原创 hashtable初探

1、特點: (1)、線程安全 使用的是synchronized關鍵字,給hashTable對象加互斥鎖; (2)、 以鍵值對<k,v>的形式儲存 (3)、鍵和值都不能爲null; (4)、插入無序 2、數據結構:數組+鏈表 3、底