归档
zhangxzhi
这个作者很懒,什么都没留下…
展开
-
hbase轻量级中间件simplehbase v1.0简介
[url]https://github.com/zhang-xzhi/simplehbase/[/url][url]https://github.com/zhang-xzhi/simplehbase/wiki[/url]simplehbase的主要功能数据类型映射:java类型和hbase的bytes之间的数据转换。简单操作封装:封装了hbase的put,get,sca...2014-12-13 18:56:15 · 130 阅读 · 0 评论 -
我对移位操作的误解
一直以为java的移位操作只能操作int,原来是自己的误解。long一样可以操作。 long value = 0x1000000000L; System.out.println(value); System.out.println(value >>> 32);结果:6871947673616...2012-11-30 20:52:42 · 92 阅读 · 0 评论 -
Java Concurrency in Practice读书笔记
目录Chapter 1. Introduction 21.1. A (Very) Brief History of Concurrency 21.2. Benefits of Threads 31.3. Risks of Threads 31.4. Threads are Everywhere 3Chapter 2. Thread Safety 32.1. What i...2011-08-13 10:03:36 · 400 阅读 · 0 评论 -
实践中的重构01-05
目录实践中的重构01_小方法的细调实践中的重构02_代码的视觉效果实践中的重构03_批处理方法默认约定实践中的重构04_了解每一行代码 装箱的布尔值实践中的重构05_简洁的代码[b]实践中的重构01_小方法的细调[/b]重构的概念已经为广大的程序员所熟悉。但是还是有很多细节可以注意。[code="java"] public static Str...2010-11-13 01:06:43 · 102 阅读 · 0 评论 -
南非世界杯 1/4决赛 德国vs阿根廷
德国4:0阿根廷精彩的比赛啊,不过完全是德国队的表演。英德大战已经表明了德国现在的实力,可惜阿根廷还是落败。德国过早的进球完全主导了比赛。赛前就不看好阿根廷,因为看这届的德国,觉得太强大了,德国队本身的精神和气质加上简洁细腻的技术,简直就是无敌,即使德国这届没有夺冠,这届我最支持的球队也就是它了。德国队现在通过中场也太简单了,两个人中场搞几个二过一马上就攻到对方的禁区附近。而且传球中有时还...2010-07-04 18:15:08 · 181 阅读 · 0 评论 -
南非世界杯 1/4决赛 巴西vs荷兰
荷兰2:1巴西还记得98年巴西大战荷兰,打得那个天昏地暗,记忆中最深的倒不是纳多和克鲁伊维特的进球,而是纳多的一个中场高速单刀,被戴维斯狂奔回铲,那时候真呆了,还有人能追上我家纳多,虽然纳多是从中场边线开始带球,戴维斯是从中场开始回追。现在的巴西早已经脱胎换骨了。上半场的巴西打得还是不错的,漂亮的进球,多次细腻的传递进攻,让人觉得荷兰就是一个菜包子。下半场风云突变,巴西门将和后卫自...2010-07-03 01:02:19 · 329 阅读 · 0 评论 -
南非世界杯 1/8决赛 荷兰vs斯洛伐克
荷兰2:1斯洛伐克斯洛伐克3:2打赢意大利的时候的气势不知道哪里去了,往常荷兰人留给人的漂亮足球在这届世界杯中至少现在还是没有看到,这场比赛唯一可以让人记忆的也只有罗本的进球了。...原创 2010-06-30 20:59:27 · 137 阅读 · 0 评论 -
bug fix 记录
p1 Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.3: Element 'beans' cannot have character [children], because the type's content type is element-only.有可能是xml字符集不对,删掉,重新写入。p2 ...2011-01-07 21:58:27 · 93 阅读 · 0 评论 -
实践中的重构10_平铺直叙的代码(new)
很多应用程序的主要目的就是用计算机来代替人处理真实世界中的问题。真实世界和计算机世界之间有着巨大的差异。编程语言,编程方法一直以来都有一个重要的发展方向,提供一个平台,尽量减少这个差异。面向对象语言,面向领域编程,为解决该问题在不同层次提供了解决方案。 在代码级别,也可以通过种种方式减少这个差异。先看下面一段代码,需求和场景是这样的。 查询用户列表,传入一个整数,指...2011-01-06 00:09:21 · 100 阅读 · 0 评论 -
使用反射提高单元测试的质量引发的思考
[quote="mock1234"][quote="zhang_xzhi_xjtu"]在用反射做UT时,注意,使用的是getDeclaredMethod方法而不是getMethod,同时注意使用method.setAccessible(true)来使方法可以被访问。在实现的时候,最好有一个方法的转调,以减少代码重构对test的影响(这样只有一个地方hard code)。比如我们有一个...原创 2010-06-29 23:11:54 · 98 阅读 · 0 评论 -
南非世界杯 1/8决赛 德国vs英格兰
德国4:1英格兰不愧是英德大战,让人记忆深刻。德国队真的让人刮目相看,全队没有什么大牌球星,但是场面上的确比英格兰强。尤其是上半场的小配合,恍惚让人觉得应该是巴西才能打成这样的进攻。英格兰也还不错,本来以为被德国2:0领先后就挂了,想不到还追了2个球,不过第二个进球被误判了,后来看可能对英格兰的影响太大了。下半场德国队扛过了一段英格兰的进攻后,又玩起了快速反击,速度和效率那个高啊。尤其是第...2010-06-28 00:09:22 · 358 阅读 · 0 评论 -
南非世界杯 1/8决赛 乌拉圭vs韩国
乌拉圭2:1韩国韩国这场踢出了水平,除了临门一脚,在其他方面都是胜过乌拉圭的,创造出了多个机会。的确是展示了亚洲足球巨大的进步,竟然55%的控球率领先一个南美球队。但是,韩国队输在了临门一脚上,再好的机会临门一脚不行也就只是机会而已。而乌拉圭赢就赢在了临门一脚上,荷甲的最佳射手的确能力还是挺强的。尤其是第二个进球,香蕉球内旋打门柱,真漂亮。...2010-06-27 00:03:41 · 159 阅读 · 0 评论 -
南非世界杯 小组赛 西班牙vs智利
西班牙2:1智利这场比赛很精彩啊。狂人贝尔萨让人见识了什么叫做疯子。智利的进攻打的太有血性了。比利亚上半场利用门将的失误远距离一脚打空门还是很精彩的。只不过到了下半场的后半段,大家有点打默契球的意思。...2010-06-26 22:46:56 · 163 阅读 · 0 评论 -
有关于时间
int型如果表示ms的话,那也就是24天而已。double t = Integer.MAX_VALUE * 1.0D / 1000 / 3600 / 24;System.out.println(t);24.855134803240742012-12-01 15:55:15 · 74 阅读 · 0 评论 -
mysql的一些性能数据
这个并不是一个严谨的性能测试,而是就简单的一些场景记录一些数据。插入一个有55个字段的表。5000000(记录数)/20597108(耗时:毫秒)=0.242752526228439462012-12-01 16:04:50 · 70 阅读 · 0 评论 -
hbase轻量级中间件simplehbase v0.2简介
[url]https://github.com/zhang-xzhi/simplehbase/[/url][url]https://github.com/zhang-xzhi/simplehbase/wiki[/url]simplehbase简介simplehbase是java和hbase之间的轻量级中间件。 主要包含以下功能。 数据类型映射:java类型和hbase...2013-12-22 17:58:19 · 77 阅读 · 0 评论 -
hbase的CoprocessorProtocol及一个简单的通用扩展实现V2
hbase中的CoprocessorProtocol机制.CoprocessorProtocol的原理比较简单,近似于一个mapreduce框架。由client将scan分解为面向多个region的请求,并行发送请求到多个region,然后client做一个reduce的操作,得到最后的结果。先看一个例子,使用hbase的AggregationClient可以做到简单的面向单个...2014-12-04 18:02:20 · 128 阅读 · 0 评论 -
hbase 0.94.0 0.94.9 0.94.24 功能不兼容初步分析
hbase 0.94.0 0.94.9 0.94.24 功能不兼容初步分析测试原因:原有的simplehbase count测试代码当hbase从某个集团版本升级后,部分测试代码不通过,怀疑hbase的各个版本有兼容性问题。测试环境:0.94.0 0.94.9 0.94.24使用本机的独立部署hbase。 client 0.94.9测试数据:[cod...2014-12-04 16:14:11 · 172 阅读 · 0 评论 -
可以查看java对象的MemoryUtil简介
MemoryUtil关于java对象内存的基本知识,请参考[url]http://zhang-xzhi-xjtu.iteye.com/blog/2116304[/url]源代码[url]https://github.com/zhang-xzhi/memoryutil[/url]以下功能对于32bits JVM,64bits JVM开启压缩指针,64bits JVM关...2014-09-14 21:01:39 · 387 阅读 · 0 评论 -
java对象的大小_基础知识
[b]引言[/b]Java的对象被jvm管理,单个对象如何布局,大小如何,程序员可以不用关心。但是,掌握一些相关的知识,可以让我们对应用中使用的对象大小有一个大致的估计,做到心中有数,当遇到内存敏感型应用时,可以通过适当的参数调节和应用优化减少内存占用。另外,just for fun。[b]声明[/b]以下讨论大部分都是基于32bits Java Hotspot VM,...2014-09-14 20:59:56 · 134 阅读 · 0 评论 -
gcviewer v0.3 一个解析CMS GC日志的GUI程序
GCviewer [url]https://github.com/zhang-xzhi/gcviewer[/url]Java gc日志的一个GUI解析器。目前只能解析CMS GC日志。界面如下:[img]http://dl2.iteye.com/upload/attachment/0100/9327/62a9199c-f23b-3e01-b4d7-3557855...2014-09-07 23:00:42 · 134 阅读 · 0 评论 -
HBase Client使用注意点
HBase Client使用注意点:1 HTable线程不安全。 建议使用HTablePool,或者每次new一个HTable出来。 2 HTable和HConnection的关系。 注意HTable对象之间通过Configuration共享HConnection。 好吧,我偷懒了,实际上是通过HConnectionKey来共享HConnection...2014-04-21 12:52:24 · 264 阅读 · 0 评论 -
文件编码自动检测及编码转换encodechecker v0.5
由于很多软件都不能准确自动识别文件编码,因此写了个文件编码识别和转换工具.编码知识见:[url]http://zhang-xzhi-xjtu.iteye.com/admin/blogs/1770285[/url]代码见[url]https://github.com/zhang-xzhi/encodingchecker[/url]目前支持如下编码格式GBKUS-A...2014-04-15 00:35:55 · 230 阅读 · 0 评论 -
[perf] java常用基本操作性能测试-异常
性能测试:由于软硬件及其复杂,本结果只具有参考意义。代码:[url]https://github.com/zhang-xzhi/perftest[/url]测试方法:1个test运行loop次,为一个suite,算一个suite的平均时间。可以跑多个suite,各个suite算各自的suite平均时间。由各个suite的平均时间计算总体平均时间。计算各个...原创 2014-03-08 09:53:54 · 166 阅读 · 0 评论 -
[perf] java常用基本操作性能测试-反射
性能测试:由于软硬件及其复杂,本结果只具有参考意义。代码:[url]https://github.com/zhang-xzhi/perftest[/url]测试方法:1个test运行loop次,为一个suite,算一个suite的平均时间。可以跑多个suite,各个suite算各自的suite平均时间。由各个suite的平均时间计算总体平均时间。计算各个...原创 2014-03-07 13:06:45 · 113 阅读 · 0 评论 -
simplehbase版本变更
[url]https://github.com/zhang-xzhi/simplehbase/[/url][url]https://github.com/zhang-xzhi/simplehbase/wiki[/url]## simplehbase简介simplehbase是java和hbase之间的轻量级中间件。主要包含以下功能。* 数据类型映射:java类型和hb...2014-07-14 13:42:35 · 88 阅读 · 0 评论 -
simplehbase v0.98.1开始支持hbase0.98
[url]https://github.com/zhang-xzhi/simplehbase/[/url][url]https://github.com/zhang-xzhi/simplehbase/wiki[/url]simplehbase的主要功能数据类型映射:java类型和hbase的bytes之间的数据转换。简单操作封装:封装了hbase的put,get,sca...2014-12-29 21:52:48 · 198 阅读 · 0 评论 -
hbase ORM simplehbase/simplehbaseviewer v0.8简介及使用说明
[url]https://github.com/zhang-xzhi/simplehbase/[/url][url]https://github.com/zhang-xzhi/simplehbase/wiki[/url]### v0.8批量操作接口新增public void putObjectList(List putRequestList);public void de...2014-05-07 00:50:26 · 108 阅读 · 0 评论 -
南非世界杯 小组赛 巴西vs葡萄牙
巴西0:0葡萄牙大哥,虽然你们都出线了,至少给大家奉献一场漂亮的练习赛吧,打的也太无聊了。原创 2010-06-26 22:43:57 · 139 阅读 · 0 评论 -
南非世界杯 小组赛 南非vs法国
南非2:1法国法国真是搞笑啊,强的时候老是挡住我最爱的巴西,烂的时候什么球都敢输。看来对比才知道法国黄金一代的重要性。中场的时候已经0:2了,而且法国还被罚下一人。让我们拭目以待下半场。奇迹没有发生,法国打进一球,算是有些进步。早知道如此,亨利那个手球不仅是没有意义,而且又给了法国一次丢人的机会。一直想问,法国算是一个强队吗,貌似有点抽啊。难道他们习惯了大起大落?...2010-06-22 23:01:26 · 140 阅读 · 0 评论 -
南非世界杯 小组赛 荷兰vs日本
荷兰1:0日本这场和英格兰的那场一样很无聊。这届世界杯怎么没有什么精彩比赛啊。原创 2010-06-22 20:40:15 · 132 阅读 · 0 评论 -
《Effective Java》2nd变更简评
《Effective Java》无疑是java领域的经典著作。第二版出来后,看了看,然后和第一版对比一下。下面介绍第二版的变更,以及揣摩作者的意图。删掉了原来的Substitutes for C constructs一章。[b]C2 Creating and Destroying Objects[/b]Item 1 Consider static factor...2009-10-21 01:17:52 · 107 阅读 · 0 评论 -
JVM内存设置及Geronimo的OutOfMemoryError:PermGen问题
Geronimo在重复装载一个工程的时候抛java.lang.OutOfMemoryError: PermGen space 异常。JVM的PermGen内存溢出了。改动setjavaenv.bat中的设置解决该问题。set JAVA_OPTS="-Xms512m" "-Xmx512m" "-XX:PermSize=512m" "-XX:MaxPermSize=512m"...2009-10-19 10:32:32 · 90 阅读 · 0 评论 -
java.util.concurrent.locks简述
Lock的意义和synchronized一致,并且增加了一些功能。锁的获得和释放可以分开在不同的地方。多了锁获得超时。可中断获得锁的过程。Wait, notify和notifyAll家族的功能用Condition实现了。同样支持wait超时,可中断wait。ReentrantLock可以设置锁的公平性。防止线程饥饿。ReentrantReadWriteLock也可以设置锁的...原创 2009-10-16 14:36:47 · 94 阅读 · 0 评论 -
类对线程的支持
类对线程的支持可以分为以下几类:1 Immutable。2 unconditionally thread safe,比如ConcurrentHashMap。3 conditionally thread safe,比如Collections.synchronized返回的东西,iterator需要外部同步。4 not thread safe,需要调用方同步。5 thread ...2009-10-16 00:34:56 · 83 阅读 · 0 评论 -
Effective Java第二版变更之 Exceptions
第2版 Exceptions Item 57: Use exceptions only for exceptional conditions Item 58: Use checked exceptions for recoverable conditions and runtime exceptions for programming errors Item 59...2009-10-08 14:02:31 · 81 阅读 · 0 评论 -
Effective Java第二版变更之 General Programming
第2版 General Programming Item 45: Minimize the scope of local variables Item 46: Prefer for-each loops to traditional for loops 新增条目,增加了对新的语言特性的for-each的讲解,以及什么时候使用这个特性比较好的说明。...2009-10-08 14:00:11 · 75 阅读 · 0 评论 -
Effective Java第二版变更之 Methods
第2版 MethodsItem 38: Check parameters for validityItem 39: Make defensive copies when neededItem 40: Design method signatures carefullyItem 41: Use overloading judiciouslyItem 42: U...2009-10-06 18:20:56 · 59 阅读 · 0 评论 -
Effective Java第二版变更之 Classes and Interfaces
第2版 Classes and InterfacesItem 13: Minimize the accessibility of classes and membersItem 14: In public classes, use accessor methods, not public fieldsItem14为新加的条目。Item 15: Minimize mut...2009-10-06 18:13:41 · 122 阅读 · 0 评论 -
Effective Java第二版变更之 Methods Common to All Objects
第2版 Methods Common to All ObjectsItem 8: Obey the general contract when overriding equalsItem 9: Always override hashCode when you override equalsItem 10: Always override toStringItem 11: Ov...2009-10-03 23:35:18 · 77 阅读 · 0 评论