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.
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home