随笔分类 -  java

简单可行的code review规则
摘要:前言 曾经有一段垃圾代码放在我的面前,我没有拒绝,等我真正开始接手的时候我才后悔莫及,程序员最痛苦的事莫过于此! 每当接手别人的代码,都有一种想重新写一遍的感觉,等到别人再来接手你的代码时,同样的感觉。。。为什么会有这种现象存在?因为没有Code Review 衡量代码质量的唯一标准就是每分钟骂出“ 阅读全文
posted @ 2019-04-30 11:23 架构师刀哥 阅读(2053) 评论(2) 推荐(0)
ImageMagick and JMagick install on Mac OSX
摘要:接的遗留代码,在本地运行,有jmagick-6.4.0.jar 但是出现错误:javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class magick.ImageInfomain里新建一个ImageInfo 则出现错误:Exception in thread "main" java.lang.UnsatisfiedLinkError: no JMagick in java.library.path按照坑爹的官方文档根本装不上按照github有个哥们儿写的 阅读全文
posted @ 2013-08-01 17:49 架构师刀哥 阅读(1505) 评论(0) 推荐(1)
jersey处理支付宝异步回调通知的问题:java.lang.IllegalArgumentException: Error parsing media type 'application/x-www-form-urlencoded; text/html; charset=UTF-8'
摘要:tcpflow以流为单位分析请求内容,非常适合服务器端接口类服务查问题这次遇到的问题跟支付宝支付后的回调post结果有关淘宝的代码例子: public void doPost(HttpServletRequest request, HttpServletResponse response)throws UnsupportedEncodingException { //»ñµÃ´ýÇ©ÃûÊý¾ÝºÍÇ©Ã& 阅读全文
posted @ 2013-07-15 21:21 架构师刀哥 阅读(4757) 评论(2) 推荐(0)
HBase client访问ZooKeeper获取root-region-server DeadLock问题(zookeeper.ClientCnxn Unable to get data of znode /hbase/root-region-server)
摘要:2012年11月28日 出现故障,"Unabletogetdataofznode/hbase/root-region-server"问题比较诡异,两个机房,只有一个机房故障,5台服务器相续故障,错误日志相同。使用的HBase客户端版本为0.94.01)分析步骤:1 jstack jmap 查看是否有死锁、block或内存溢出jmap看内存回收状况没有什么异常,内存和CPU占用都不多jstack pid > test.logpid: Unable to open socket file: target process not responding or HotSpot 阅读全文
posted @ 2012-12-02 15:25 架构师刀哥 阅读(5259) 评论(0) 推荐(0)
[专栏]壹周技术秀(第一期)
摘要:开展专栏,捕获技术热点,并深入分析,实践,提高自身水平和眼界!第一期开始。只摘录JAVA相关 存储 架构相关及程序员方法论。2012年9月7日 丹尼斯·里奇纪念日龙书作者演讲地址:http://www.ituring.com.cn/article/14315看完有买书冲动,想跟着大师学学自己写个语言,更能认识里奇的伟大JavaOne 2012资料https://blogs.oracle.com/java/entry/javaone_content_available_for_freeMIT算法导论公开课http://ocw.mit.edu/courses/electrical-eng 阅读全文
posted @ 2012-10-11 10:00 架构师刀哥 阅读(172) 评论(0) 推荐(0)
Hbase 源码分析之 Get 流程及rpc原理
摘要:分析版本为hbase 0.94附上趋势团队画的图:rpc角色表:HBase通信信道HBase的通信接口客户端服务端HBase ClientMaster ServerHMasterInterfaceHBase ClientRegion ServerHRegionInterfaceRegion ServerMaster ServerHMasterRegionInterface客户端发起请求:htable.get(Get)public Result get(final Get get) throws IOException {return new ServerCallable<Result&g 阅读全文
posted @ 2012-07-18 15:36 架构师刀哥 阅读(2168) 评论(0) 推荐(0)
Hbase复杂操作的优化- Htable HtablePool
摘要:Htable主要提供表内的操作,put,delete,get,scan等操作HTablePool 可以建立池,存储HTableInterface接口的实现对象,一般是Htable,避免创建Htable的消耗。HTablePool 默认创建方式:new HTablePool(conf, poolSize);使用这种方式得到的Htable,无法设置autoflush,在速度要求高可以容忍数据丢失场景中,会降低3/4左右的速度。查看HTablePool创建方法发现,HTable由其内部参数HTableFactory创建,没有做任何设置因此新建类HTableBufferFactory implemen 阅读全文
posted @ 2012-07-05 17:13 架构师刀哥 阅读(1063) 评论(0) 推荐(0)
mysql数据迁移hbase问题
摘要:无法直接dump,写了java多线程程序做迁移问题1:Operation not allowed after ResultSet closed裸jdbc语句,一个线程跑7个表,只有第一个表时候出这个问题,方法改为static synchronized可以解决,但速度慢的不能忍受,最终在同事建议下,换用spring jdbctemplate,解决问题2:SELECT `token`, `count` FROM {TABLE_NAME} ORDER BY `token` DESC LIMIT ?, ? 到100w后速度不能忍受的慢问题场景为遍历数据库,可以记录上次的最大token,然后 where 阅读全文
posted @ 2012-06-16 20:04 架构师刀哥 阅读(562) 评论(0) 推荐(0)
hbase问题总结
摘要:1 java.io.IOException: java.io.IOException: java.lang.IllegalArgumentException: offset (0) + length (8) exceed the capacity of the array: 4做简单的incr操作时出现,原因是之前put时放入的是int 长度为vlen=4 ,不适用增加操作,只能改为long型 vlen=82 写数据到column时 org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:Failed1action 阅读全文
posted @ 2012-06-12 14:29 架构师刀哥 阅读(29463) 评论(2) 推荐(1)
《HBase 权威指南》学习笔记一 引言
摘要:解决数据库多写问题,同事推荐使用hbase,并做了HBase培训,也看到老大tim参会说淘宝用hbase替代部分mysql核心应用,学习研究下看是否适用分布式计算的谬论.:1 The network is reliable.2 Latency is zero.3 Bandwidth is infinite.4 The network is secure.5 Topology doesn't change.6 There is one administrator.7 Transport cost is zero.8 The network is homogeneous.下载版本0.92. 阅读全文
posted @ 2012-05-28 14:02 架构师刀哥 阅读(1130) 评论(0) 推荐(0)
空指针错误导致tomcat报404错误
摘要:项目代码的异常类型为500 400 没有404错误线上却偶尔报404错误,导致成功率低于99%追查发现是由于一个空指针错误,未被捕获抛出指定项目异常mark 阅读全文
posted @ 2012-05-23 10:01 架构师刀哥 阅读(267) 评论(0) 推荐(0)
memcache 问题 socket or its streams already null in trueClose call
摘要:问题现象:20台服务器有一台报monitor错误 ,查询日志:05 11 09:37:48 [MaintThread] ERROR memcached.SockIOPool - ++++ failed to close SockIO obj from deadPool05 11 09:37:48 [MaintThread] ERROR memcached.SockIOPool - ++++ socket or its streams already null in trueClose calljava.io.IOException: ++++ socket or its streams alr 阅读全文
posted @ 2012-05-11 09:40 架构师刀哥 阅读(2680) 评论(4) 推荐(0)
java.util.concurrent 在shorturl项目中的应用
摘要:问题:微博短链项目应用到哪些concurrent包中的类,类的用途是什么?场景是怎样?效果?java.util.concurrent.atomic.AtomicInteger (AtomicLong)用途:可以用原子方式更新的 int 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicInteger 可用在应用程序中(如以原子方式增加的计数器),并且不能用于替换 Integer。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。 (jdk文档)场景:ThreadPoolExecutor的成员变量 阅读全文
posted @ 2012-05-09 11:20 架构师刀哥 阅读(369) 评论(0) 推荐(0)
mc参数备忘&java-json备忘
摘要:mc参数(摘自 http://www.blogjava.net/jzone/articles/302991.html)查看方法 telnet进去 或 echo stats | nc 127.0.0.1 11211pidmemcache服务器的进程IDuptime服务器已经运行的秒数time服务器当前的unix时间戳versionmemcache版本pointer_size当前OS的指针大小(32位系统一般是32bit)rusage_user进程的累计用户时间rusage_system进程的累计系统时间curr_items服务器当前存储的items数量total_items从服务器启动以后存储的 阅读全文
posted @ 2012-05-08 10:53 架构师刀哥 阅读(281) 评论(0) 推荐(0)
3月工作问题总结
摘要:上线流程和方法比较赞。 review board提交申请,有同事review并ship it,上线代码打tag,然后用german上线,如果出问题,回滚到上一版本tag。tag上线用 svn sw方法,切换分支。做了些日志分析,学习memcache,不算入门,能查找问题而已。eclise的maven问题:生成class文件时候失败,最后发现 order and export顺序有关系,需要在build path里调整之,把maven dependencies。tomcat与threadlocal: A web application created a ThreadLocal with key 阅读全文
posted @ 2012-04-07 09:54 架构师刀哥 阅读(1126) 评论(0) 推荐(0)
hadoop学习笔记
摘要:map-reduce 原文:http://blademaster.ixiezi.com/2010/03/27/google-mapreduce%E4%B8%AD%E6%96%87%E7%89%88/问题:由于输入的数据量巨大,因此要想在可接受的时间内完成原本简单的运算,只有将这些计算分布在成百上千的主机上。如何处理并行计算、如何分发数据、如何处理错误?所有这些问题综合在一起,需要大量的代码处理,因此也使得原本简单的运算变得难以处理。map-reduce 方案模型MapReduce编程模型的原理是:利用一个输入key/value pair集合来产生一个输出的key/value pair集合。Ma 阅读全文
posted @ 2012-01-03 19:36 架构师刀哥 阅读(239) 评论(0) 推荐(0)
tomcat cpu占用过高,系统负载高问题跟踪
摘要:2011-09-06线上8核 linux服务器,负载为8为正常情况,目前CPU负载过高,最高负载30多,平均负载在20左右,已经持续近一周,具体占用CPU资源的服务是tomcat_sc,占用CPU资源高达:720%使用jconsole去跟踪更改catalina.sh 启动设置:$ CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8933 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxre 阅读全文
posted @ 2011-12-23 17:21 架构师刀哥 阅读(3510) 评论(0) 推荐(3)