2013年是雙11的第五個年頭,從2009年的“光棍節”到現在的“網購狂歡節”,單單是名字上的變化,大家就能從中感受到業務規模發生的轉變。
現在幾乎任何一個網站、Web App以及移動APP等應用都需要有圖片展示的功能,對于圖片功能從下至上都是很重要的。
Godown:
就是個JAVABEAN,是被執行者,即被各種線程執行。
在此系統中只有一個。存儲了一個倉庫的當前量和最大量。
加同步關鍵字后表明,當被多個線程執行時,只有最早進入的線程能執行,其他的純種處于等待狀態。
生產者和消費者就是線程,去觸發同一個JAVABEAN的代碼。
Thread是指線程,一個進程里面可以有多個線程在運行,會產生線程的管理問題,如讓某些線程暫停,暫停后要恢復,
這些控制代碼是放在共享的JAVABEAN中的,不是放在Thread的代碼中,如wait()/notify()/notifyall(),這個會通知當前調用此JAVABEAN
的線程執行停止/恢復動作。
https://github.com/zhang-xzhi/simplehbase/ https://github.com/zhang-xzhi/simplehbase/wiki## simplehbase簡介
simplehbase是java和hbase之間的輕量級中間件。
主要包含以下功能。
* 數據類型映射:java類型和hbase的bytes之間的數據轉換。
* 簡單操作封裝:封裝了hbase的put,get,scan等操作為簡單的java操作方式。
* hbase query封裝:封裝了hbase的filter,可以使用sql-like的方式操作hbase。
* 動態query封裝:類似于myibatis,可以使用xml配置動態語句查詢hbase。
* insert,update支持: 建立在hbase的checkAndPut之上。
* hbase多版本支持:提供接口可以對hbase多版本數據進行查詢,映射。
* hbase原生接口支持。
### v0.9
新增
支持HTable如下使用方式,對HTable可以定時flush。
主要場景:
批量寫入,但是flush可以配置為指定時間間隔進行。
不降低批操作的吞吐,同時,有一定的實時性保證。
支持用戶自定義htablePoolService。
多個HTable可以使用同一個線程池。
intelligentScanSize功能,可以根據limit的值設定scan的cachingsize大小。
### v0.8
批量操作接口新增
public <T> void putObjectList(List<PutRequest<T>> putRequestList);
public void deleteObjectList(List<RowKey> rowKeyList, Class<?> type);
public <T> void putObjectListMV(List<PutRequest<T>> putRequests,long timestamp)
public <T> void putObjectListMV(List<PutRequest<T>> putRequests,Date timestamp)
public <T> void putObjectListMV(List<PutRequest<T>> putRequestList)
public void deleteObjectMV(RowKey rowKey, Class<?> type, long timeStamp)
public void deleteObjectMV(RowKey rowKey, Class<?> type, Date timeStamp)
public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,long timeStamp)
public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,Date timeStamp)
public void deleteObjectListMV(List<DeleteRequest> deleteRequestList,Class<?> type);
Util新增(前綴查詢使用)
public static RowKey getEndRowKeyOfPrefix(RowKey prefixRowKey)
性能改進
把get的實現從scan調回get。
### v0.7新增功能:
支持查詢時主記錄和關聯的RowKey同時返回。
查詢磁盤空間的方法:
df -H
本文主要介紹Linux系統磁盤使用空間不足時,如何查找大文件并進行清理的方法。
下午使用df-h檢查一臺服務器磁盤使用空間,發現磁盤已經使用了100%,其中/dev/mapper/vg_iavp-lv_root是邏輯卷。

可以通過下面的方法進行清理:
使用如下命令查找大于100M的大文件,發現有幾個日志文件及臨時文件比較大,使用rm –rf刪除即可。
find / -size +100M -exec ls -lh {} \;

PMD jenkins plugin is only displaying the PMD check results. You need to run PMD using Maven as part of your build triggered by Jenkins. For example this could look like that in your pom.xml
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<linkXRef>false</linkXRef>
<targetJdk>1.6</targetJdk>
<rulesets>
<ruleset>/rulesets/basic.xml</ruleset>
</rulesets>
</configuration>
</plugin>
</plugins>
</reporting>
Then PMD-jenkins will know where to pick up the results and publish them for you.
To get the results you will need to add this code to your pom.xml and execute the according target in Jenkins, yes.
Note that this is not related to PMD-plugin in Eclipse. The Eclipse PMD plugin just shows the result of the local analysis, not related to Jenkins.