原创 java/c++跨語言base64加密解密
一定要用java原生的java.util.Base64,才能保證在c++可以正確decode! 比如: 在java用這個encode:java.util.Base64.getEncoder().encodeToString(testBy
原创 scala/java/c++使用murmur3計算hash值保持跨語言之間一致
目標:在java/scala中對word計算出無符號數字(uint64)的hash值,與c++中計算的hash值一樣 方案: 因爲java沒有uint64,而c++的murmur3是用的uint64,所以java這邊直接asLong會
原创 分佈式緩存hazelcast的一些原理分析
1.下面以一個客戶端創建和發請求的過程來分解描述。 public static void main(String[] args) { ClientConfig clientConfig = new ClientConfig();
原创 大多數垃圾收集器的名稱列表
1.serial單線程,新生代用複製算法,老年代使用標記整理算法。2.parallel是serial的多線程版本。3.cms是新生代複製,老年代用標記清除,清除後還不夠用才啓動整理。4.g1則繼承了cms的低停頓的好處的前提下,儘量規避它
原创 tcp協議相關問題答疑
1.爲什麼四次揮手而不是三次揮手?爲何不能像握手時候一樣server把ack和fin(syn)用同一步發過去?答:原因是揮手第二步(server給client發ack)之時,server這邊可能還有數據沒有對外傳輸完。所以等傳輸完了再進行
原创 排序算法
謝謝真實的歸宿http://blog.csdn.net/hguisu/article/details/7776068 雖然以下代碼是抄他的,但是我改成了java版本的,跟他並不一樣。並且我有修復它裏面一些bug。 插入排序(直接插入排序V
原创 JAVA線程安全相關數據結構使用建議
什麼是線程安全的數據結構? 簡單的說就是不同線程可以訪問同一份數據時,它們對這份數據的訪問是無序的隨機的,是你不可控的。比如說你的房間誰都可以進來,但是你不確定他們誰先來誰後來或者可能同時來。你想讓整件事更有秩序在你的掌控之中
原创 安裝openresty失敗的解決
官網上的安裝步驟如下: tar -xzvf openresty-VERSION.tar.gz cd openresty-VERSION/ ./configure make sudo make install 但是我進行到configure
原创 HashMap源碼分析
通俗解析 hashMap的put方法 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) {
原创 同步、異步、阻塞、非阻塞
老張在燒一壺水。 1.老張把水壺放到爐子上之後,打開火,然後一直坐在旁邊盯着水壺,直到水開。這叫同步、阻塞。 2.老張突然發現一直盯着很浪費時間,於是他就到隔壁房間去看電視,隔一會兒過來看一眼。這叫同步,
原创 使用awk對某列去重並且可保留其他列
同事說需要統計日誌中按url的path去重之後的結果,結果中要保留參數。相同url不同參數的,只保留第一行。 理論上各種命令都是流式處理,一行一行的處理。每道命令都相當於一個過濾器。比如你要按某列去重,則事先把數據cut到只剩你需要去
原创 java實現大數減法算法
public static char[] subTract(int[] a,int[] b){ int cLength = b.length; char sign = '+'; // 長度大,肯定正數 if
原创 virtualbox剪貼板失效問題的解決
1.確認一下,虛擬機設置裏面的【常規】-【高級】-【共享粘貼板】選擇的是【雙向】,如果不是要改過來。 2.打開任務管理器, 殺掉 VBoxTray.exe 3.執行C:\WINDOWS\system32\VBoxTray.exe 現在你就
原创 springMVC源碼分析 從DispatcherServlet說起
1.SpringMVC的Controller能夠接受請求,是因爲使用了DispatcherServlet作爲所有請求的入口,事先要把這個Servlet配置到web.xml,並且把想走SpringMVC的請求的url(用通配符方式比如*.
原创 定長隊列,新元素會把舊元素擠掉
/** * 定長隊列,新元素會把舊元素擠掉 * Created by wanghongji on 17-11-24. */ public class CircleArrayBlockingQueue<E> extends Array