原创 文件系統的預讀

       最近在做遷移工作,從hdfs遷移到我司的分佈式文件系統,但是我也是非常無語,我司文件系統竟然沒有做預讀。。對於大量順序讀的場景,這個是非常喫虧的。對於跨機房場景,原Hdfs可達到100M+/s的讀速度,但是現在卻僅有幾十M/

原创 float壓縮方式

float在捨棄一些精度和範圍的情況下,可以做些壓縮,節省存儲空間。本文介紹3種壓縮方式:fp16,Int8,fp block float存儲格式 V = (-1) ^ s × M × 2 ^ E (1)(-1)^s 表示符號位,當 s=

原创 異步化IO

背景:           隨着存儲計算分離的項目進一步推進,IO異步成爲了一件必須要做的事情了。隨着存儲內容分發到遠端集中存儲(盤古集羣),IO lateny平均也需要300-400us,更不用說對於長尾訪問,網絡抖動,IO集中的情況,

原创 Java反射機制詳解

概要: Java反射機制詳解 | |目錄 1反射機制是什麼2反射機制能做什麼3反射機制的相關API·通過一個對象獲得完整的包名和類名·實例化Class類對象·獲取一個對象的父類與實現的接口·獲取某個類中的全部構造函數 - 詳見

原创 爲什麼volatile不能保證原子性

這裏面涉及volatile,是java中的一個我覺得這個詞在Java規範中從未被解釋清楚的神奇關鍵詞,在Sun的JDK官方文檔是這樣形容volatile的: The Java programming language provid

原创 JVM相關知識總結

JVM——java virtualMachine 定義: Java編譯完成字節碼在各個平臺上運行,將字節碼轉換成機器指令執行。 1 JVM內存模型 JAVA運行時內存分配包括:Java虛擬機棧,本地方法棧,堆空間,方法區,程序計數器

原创 Redis內存使用優化與存儲

原文鏈接:http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage Redis常見數據模型的使用場景以及在內存優化方面和性能優化方面的分析:

原创 leetcode 560Subarray Sum Equals K題解

題目地址:https://leetcode.com/problems/subarray-sum-equals-k/#/description 獲得連續子數組和爲K,可以暴力查找,效率爲o(n^2),那麼思考,可不可以更快。 用has

原创 leetcode題解 632. Smallest Range

原題:https://leetcode.com/problems/smallest-range/#/description 題意:找到一個範圍,可以存在n個list都有數在這個範圍內思路:類似於merge

原创 JAVA CAS原理分析

CAS CAS:Compare and Swap, 翻譯成比較並交換。  java.util.concurrent包中藉助CAS實現了區別於synchronouse同步鎖的一種樂觀鎖。   本文先從CAS的應用說起,再深入原理解析。  

原创 最長公共子序列(LCS)問題

一、什麼是最長公共子序列        什麼是最長公共子序列呢?舉個簡單的例子吧,一個數列S,若分別是兩個或多個已知序列的子序列,且是所有符合條件序列中最長的,則S稱爲已知序列的最長公共子序列。   舉例如下,如:有兩個隨機數

原创 crontab定時任務

crontab是linux常見的定時開啓任務的命令,通過該命令可以設置程序的週期性運行的時間。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。這個命令非常適合週期性的日誌分析或者daily run test等場景。命令格式爲:

原创 深入理解 Java 垃圾回收機制

一:垃圾回收機制的意義 java  語言中一個顯著的特點就是引入了java回收機制,是c++程序員最頭疼的內存管理的問題迎刃而解,它使得java程序員在編寫程序的時候不在考慮內存管理。由於有個垃圾回收機制,java中的額對象不在有“

原创 Redis有多快?

Redis 自帶了一個叫 redis-benchmark 的工具來模擬 N 個客戶端同時發出 M 個請求。 (類似於 Apache ab 程序)。你可以使用 redis-benchmark -h 來查看基準參數。 以下參數被支持: U

原创 二叉樹性質

1.在二叉樹的第i層上最多有2 i-1 個節點 。(i>=1)  用歸納法證明: 歸納基:i = 1 層時,只有一個根結點,                     2i-1 = 20 = 1; 歸納假設:假設i=k時,命題成