`
zhang_xzhi_xjtu
  • 浏览: 524476 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
https://github.com/zhang-xzhi/simplehbase/ https://github.com/zhang-xzhi/simplehbase/wiki simplehbase的主要功能 数据类型映射:java类型和hbase的bytes之间的数据转换。 简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。 hbase query封装:封装了hbase的filter,可以使用sql-like的方式操作hbase。 动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。 insert,update支 ...
create Htable put hbase rpc HBaseClient call
hbase中的CoprocessorProtocol机制. CoprocessorProtocol的原理比较简单,近似于一个mapreduce框架。由client将scan分解为面向多个region的请求,并行发送请求到多个region,然后client做一个reduce的操作,得到最后的结果。 先看一个例子,使用hbase的AggregationClient可以做到简单的面向单个column的统计。 @Test public void testAggregationClient() throws Throwable { LongColumnInterpreter colu ...
引言 Java的对象被jvm管理,单个对象如何布局,大小如何,程序员可以不用关心。 但是,掌握一些相关的知识,可以让我们对应用中使用的对象大小有一个大致的估计,做到心中有数,当遇到内存敏感型应用时,可以通过适当的参数调节和应用优化减少内存占用。 另外,just for fun。 声明 以下讨论大部分都是基于32bits Java Hotspot VM,关于64bits的会特殊声明。 本文查看java对象的内存输出来自工具包memoryutil http://zhang-xzhi-xjtu.iteye.com/admin/blogs/2116347 Java对象内存组成 对象内存由以下几部 ...
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 ...
编码知识的一个PPT,时隔1年重新更新一个版本。 检测编码的工具可以见 http://zhang-xzhi-xjtu.iteye.com/blog/1547584
网上看到一道题。https://github.com/Skinney/WordSorter 简单的描述就是,对一个已知的文本文件按行字符串自然序进行排序,结果输出到另一个文件。 设计了一系列算法。 先搞一个最简单的。 Allen01_SimpleSort 1 读取数据。 2 排序。 3 写回。 4 单线程完成所有任务。 数据都是字符串,可以使用桶排先预排序一下。 Allen02_String_Bucket 桶排。按照每一行字符串的前2个字符分为26*26个桶。 数据读取和数据入桶线程分开。 写文件线程必须等待数据入桶线程完成任务。并且对桶内数据进行排序。 面向字符串处理。 ...
忘了什么原因突然想看下JCF,于是就有了这个阅读体会。 java版本基于sun jdk1.6.0_18 1 通用接口 public interface Iterable<T> public interface Iterator<E> 一个典型的iterator模式的应用。 注意注释中提到的Iterator和enumerations一个不同点是方法名的提高,命名还是很重要的。 public interface Collection<E> extends Iterable<E> 比较有意思。 线程策略由实现类决定。 注意contai ...
目录 内存管理简介 GC简介 好的Collector的特性 设计或选择Collector GC性能指标 分代GC Java Collector 快速内存分配 GC根集合 Serial Collector Parallel Collector/Throughput Collector Parallel Compacting Collector Concurrent Mark Sweep Collector (CMS) 4种Collector的对比和适用场景。 Ergonomics GC调优 OutOfMemoryError freeMemory(),totalMem ...
这两天一直做code review,经常看着看着就有一种要死的冲动。 好的代码,一个老生常谈的问题。结合最近的实践,总结一下常见的问题。 1 了解你的代码 很多程序员并不了解自己的代码。 比如null!=Object,很多人已经不知道为什 ...
改进了以前的一个代码统计工具,主要是加入ui。这样操作时比较方便。 主界面如下 parser配置界面如下 以下是开发时的一些体会。 1 整体架构的进化 2 该写UT的地方还是要写的 3 对ResultItem的重构 4 UI的添加 5 参考其它的同类型程序 6 保持一个简单的核心概念模型 1 整体架构的进化 刚开始的时候考虑的比较简单,只是说想统计一下写的代码. 当时用的是.net开发的,一两个源文件就做完了. 但是后来不管怎么看都不灵活,主要是感到以下三个方面不太好. 1 对统计什么文件的设置不灵活,最早只能统计一个目录,可以从命令行读该目录,也可以跳过一些特殊的子目 ...
自己一直喜欢玩珠珠,就是把同色的球移到一排消掉的休闲小游戏. 用java做了一个,加了一些新的功能 1 进度的save/load 2 进化的难度系统(随着游戏的进行越来越难) 3 妨碍玩家的特殊球 4 帮助玩家的魔法球 上图
目录 基本预备相关知识 对象的销毁过程 对象重生的例子 对象的finalize的执行顺序 何时及如何使用finalize 参考 基本预备相关知识 1 java的GC只负责内存相关的清理,所有其它资源的清理必须由程序员手工完成。要不然会引起资 ...
目录 预备知识 为什么要clone Object的clone以及为什么如此实现 如何clone 对clone的态度 其他的选择 和Serializable的比较 性能 预备知识 为了理解java的clone,有必要先温习以下的知识。 java的类型,java的类型分为两大类,一类为primiti ...
Global site tag (gtag.js) - Google Analytics