原创 Windows的CMD控制檯輸出到TEXT文檔

eg: 1、在e:目錄下創建文本文件test.txt 2、在提示符下輸入ping 0.0.0.0 -t > e:test.txt 打開文件即可看到輸出內容

原创 多線程初識四

NIO and AIO  New I/O 與舊式的基於流的I/O相對 再JDK1.4納入,特點: 1、NIO基於塊Block,原來IO是基於流的 2、爲所有的原始類型提供Buffer緩存支持 3、增加通道Channel對象 4、支持鎖和

原创 ConcurrentLinkedQueue源碼閱讀與理解

ConcurrentLinkedQueue源碼閱讀與理解 簡述:該容器是無鎖無邊界的隊列FIFO鏈表。 幾個變量: //記錄頭節點(不一定指向頭,緩更新) private transient volatile Node<E> h

原创 ConcurrentHashMap源碼閱讀與理解

JDK1.8 ConcurrentHashMap源碼閱讀與理解 幾個變量: private static final int MAXIMUM_CAPACITY = 1 << 30; //最大容量 因爲32位HASH

原创 transient關鍵字妙用

你只需要實現Serilizable接口,將不需要序列化的屬性前添加關鍵字transient,序列化對象的時候,這個屬性就不會序列化到指定的目的地中。

原创 面試總結(深圳第五天)

1、execute和submit的區別是: 1)可以收受的任務類型,execute只能接收runnable,而submit不僅可以,還能接收Callable類型 2)execute沒有返回值,submit有返回值 2、HTT

原创 面試總結(深圳第六天)

面試總是紛紛擾擾,等待結果妙不可言。 今日之惑: 1)分佈式項目的實現原理 springcloud本身是一個servlet應用,而springboot則是嵌入式tomcat所以,需要一些膠水代碼使得servlet應用跑在to

原创 Netty服務器和客戶端交互案例

Netty服務器和客戶端交互案例 簡述:使用netty完成通訊簡單的例子 服務器端代碼: package netty; import java.net.InetSocketAddress; import java.util.co

原创 Vector和Hashtable源碼閱讀與理解

Vector是線程安全的ArrayList: public synchronized void insertElementAt(E obj, int index) { modCount++; if

原创 JAVA垃圾回收機制(GC算法)

JAVA垃圾回收機制(GC算法) 首先了解一下有哪些垃圾回收算法: 1、引用計數法 老牌垃圾回收算法 對象中存在引用計數器,如果被引用則+1,若失去引用則-1,當=0的時候就回收。 算法問題:加減增加了計算成本,互相引用的問

原创 JAVA常用的幾種線程池

JAVA常用的幾種線程池 1、newCachedThreadPool 創建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閒線程,若無可回收,則新建線程。 這種類型的線程池特點是: 工作線程的創建數量幾乎沒有限制(其實

原创 JAVA深淺拷貝

深拷貝:重新new一個一模一樣的對象,內存引用地址不一樣。 淺拷貝:如果是基本類型的數據則是不同的對象,即內存地址不一樣;如果是一個對象則引用的地址一樣。

原创 -1的二進制爲1111 1111

-1的二進制爲1111 1111

原创 NIO服務器和客戶端通訊簡單例子

NIO服務器和客戶端通訊簡單例子 廢話不多說直接上代碼。 首先是服務端代碼: package nio; import java.net.InetSocketAddress; import java.nio.ByteBuffer

原创 Executors源碼閱讀與理解

簡述:此類是Executor(線程池的超級接口)的工具類,提供衆多靜態方法創建線程池! /* newFixedThreadPool 創建一個指定工作線程數量的線程池。每當提交一個任務就創建一個工作線程, 如果工作線程數量達到線程