- 浏览: 541275 次
- 性别:
- 来自: 杭州
-
最新评论
-
飞天奔月:
public List<String> gener ...
实践中的重构30_不做油漆匠 -
在世界的中心呼喚愛:
在世界的中心呼喚愛 写道public class A {
...
深入理解ReferenceQueue GC finalize Reference -
在世界的中心呼喚愛:
在世界的中心呼喚愛 写道在世界的中心呼喚愛 写道在classB ...
深入理解ReferenceQueue GC finalize Reference -
在世界的中心呼喚愛:
在世界的中心呼喚愛 写道在classB的finalize上打断 ...
深入理解ReferenceQueue GC finalize Reference -
在世界的中心呼喚愛:
iteye比较少上,如果可以的话,可以发e-mail交流:ch ...
深入理解ReferenceQueue GC finalize Reference
文章列表
https://github.com/zhang-xzhi/simplehbase/
https://github.com/zhang-xzhi/simplehbase/wiki
### v0.9
新增
支持HTable如下使用方式,对HTable可以定时flush。
主要场景:
批量写入,但是flush可以配置为指定时间间隔进行。
不降低批操作的吞吐,同时,有一定的实时性保证。
支持用户自定义htablePoolService。
多个HTable可以使用同一个线程池。
intelligentScanSize功能,可以根据limit的值设定scan的cachingsize大小。
## ...
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。
* 动态qu ...
-----------------------------------------------
1/8决赛
阿根廷1:0瑞士
现在的节奏都是传统弱队不弱,强队不强。
竟然又搞到加时赛了。
法国2:0尼日利亚
尼日利亚队的身体素质,小技术太NB了。
可惜只打了半场好球,下半场就变成懒洋 ...
java杨辉三角简单实现
- 博客分类:
- 算法相关
迭代实现
public class Yang3 {
public static void main(String[] args) {
compute(9);
}
public static void compute(int level) {
int[] a = new int[level + 1];
a[0] = 1;
showRow(a, 1);
for (int i = 1; i < a.length; i++) {
for (i ...
https://github.com/zhang-xzhi/simplehbase/
https://github.com/zhang-xzhi/simplehbase/wiki
### v0.8
批量操作接口新增
public <T> void putObjectList(List<PutRequest<T>> putRequestList);
public void deleteObjectList(List<RowKey> rowKeyList, Class<?> type);
public <T> void put ...
https://github.com/zhang-xzhi/simplehbase/
https://github.com/zhang-xzhi/simplehbase/wiki
### v0.8
批量操作接口新增
public <T> void putObjectList(List<PutRequest<T>> putRequestList);
public void deleteObjectList(List<RowKey> rowKeyList, Class<?> type);
public <T> void put ...
由于使用了自定义的classloader,导致报错。
private static void checkDefaultsVersion(Configuration conf) {
if (conf.getBoolean("hbase.defaults.for.version.skip", Boolean.FALSE)) return;
String defaultsVersion = conf.get("hbase.defaults.for.version");
String thisVersion = VersionI ...
HBase Client使用注意点:
1 HTable线程不安全。
建议使用HTablePool,或者每次new一个HTable出来。
2 HTable和HConnection的关系。
注意HTable对象之间通过Configuration共享HConnection。
好吧,我偷懒了,实际上是通过HConnectionKey来共享HConnection的。
因此,相同的Configuration(更精准的说法是连接相关参数相同,参阅HConnectionKey)实际上使用的是同一个HConnection。
HConnectionKey可以查看源码。
...
由于很多软件都不能准确自动识别文件编码,因此写了个文件编码识别和转换工具.
编码知识见:
http://zhang-xzhi-xjtu.iteye.com/admin/blogs/1770285
代码见
https://github.com/zhang-xzhi/encodingchecker
目前支持如下编码格式
GBK
US-ASCII
ISO-8859-1
utf-8_withoutBom
utf-8_withBom
UTF-16BE_withBom
UTF-16BE_withoutBom
UTF-16LE_withBom
UTF-16LE_withoutBom
UTF-32BE_wi ...
读hbase-0.94.0的ServerCallable时,发现callTimeout的处理貌似有问题。
在withRetries方法执行时,调用shouldRetry(t)时;afterCall()还未调用,因此,此时的endTime值为错误的。
另外,shouldRetry中,this.callTimeout = ((int) (this.endTime - this.startTime));这一行代码是在是没有明白要干什么。
查看了hbase-0.94.18的代码,改进了callTimeout的处理。
protected int callTimeout;
p ...
发现一个xml encoding和实际编码不同导致xml解析异常。
对于
<?xml version="1.0" encoding="GBK" ?><a>市</a>
使用了utf-8 getBytes后得到一个byte[],然后使用xml解析。
由于xml解析器会自动识别xml中的GBK,然后使用GBK解码,导致xml解析失败。
<?xml version="1.0" encoding="GBK" ?><a>市</a>
utf-8
3 ...
Phoenix和simplehbase功能简单比较
大数据应用现在如火如荼,hbase应用也越来越广泛,做了一个Phoenix和simplehbase功能简单比较。
由于Phoenix不是特别熟悉,还请各位Phoenix/hbase高手不吝指点。
Phoenix we put the SQL back in NoSql
http://phoenix.incubator.apache.org/
simplehbase
https://github.com/zhang-xzhi/simplehbase/wiki
https://github.com/zhang-xzhi/simplehbaseviewer
https://github.com/zhang-xzhi/simplehbaseviewer/wiki/_pages
simplehbaseviewer是基于simplehbase的web操作界面.
目前提供以下功能:
htable插入数据,指定时间戳。
htable查询数据,SQL-Like,可以指定maxversion,时间戳范围,limit分页查询。
htable删除数据。
自定义rowkey生成函数,方便查询。 例子: 有一个rowkey的设计如下: 月账单rowkey设计如下: ...
性能测试:
由于软硬件及其复杂,本结果只具有参考意义。
代码:
https://github.com/zhang-xzhi/perftest
测试方法:
1个test运行loop次,为一个suite,算一个suite的平均时间。
可以跑多个suite,各个suite算各自的suite平均时间。
由各个suite的平均时间计算总体平均时间。
计算各个suite的平均时间和总体平均时间的误差是否在delta内。
如果满足,则本次测试有效。
如果不满足,则增大loop重新运行。
时间单位为ns。
异常
loop=20000 suite=5 delta=0.2
avg=685 ...
[perf] java常用基本操作性能测试-反射
- 博客分类:
- 归档
性能测试:
由于软硬件及其复杂,本结果只具有参考意义。
代码:
https://github.com/zhang-xzhi/perftest
测试方法:
1个test运行loop次,为一个suite,算一个suite的平均时间。
可以跑多个suite,各个suite算各自的suite平均时间。
由各个suite的平均时间计算总体平均时间。
计算各个suite的平均时间和总体平均时间的误差是否在delta内。
如果满足,则本次测试有效。
如果不满足,则增大loop重新运行。
时间单位为ns。
反射
loop=20000 suite=5 delta=0.2
avg=512 ...