线上排查工具btrace和jvm-inspector使用说明 btrace=================================================================btrace官网:https://kenai.com/projects/btrace/pages/UserGuide下载1.2可执行包的,上传到线上机器。解压后将chmod 755 btrace,将btrace设为可执行。一个简单的b
maven in action读书笔记 零零碎碎scopecompile:默认的scope。对编译、测试、运行有效。test:只对编译测试代码及运行测试有效。编译主代码及运行无效。provided:对编译(主代码及测试代码)和运行测试有效,但是运行时无效,如servlet-api。runtime:测试和运行有效,对编译主代码无效(不明白。。。)system:显式依赖指定的jar包。 xxx …
mac os安装open cv2 for python 转自:http://blog.csdn.net/flyfy1/article/details/8274288看了几篇安装open cv2 for python,感觉都有点麻烦。上面这两个算是比较简单的。我的操作系统是10.7,python 2.7.3。首先就是要安装cmake,这个很简单,brew install cmake。一个命令就搞定。然后下载open cv的
intellij idea build时出现illegal character的解决 碰到有中文的项目,有可能包名、类名或者方法名都会包含中文,这时在build的时候会出现 illegal charater 这样的错误。这种情况,可能有两种原因,1. 保存代码文件的时候出现了BOM头关于BOM头及去除方法,网上有非常多的文章,比如这里:http://my.oschina.net/xianggao/blog/796942. 编码问题。比如文件编码是GBK的,这时如
disruptor学习笔记 1. 内存屏障:volatile提供与锁类似的语义,但是代码比锁小得多。volatile可以阻止代码重排序,并且值被更新的时候,会导致缓存失效,强制回写到主存中。2. 伪共享与缓存行CPU缓存通常一次缓存多个字(32、64或128字节),称为缓存行。如果位于同一个缓存行中的多个变量被不同的线程进行写,由于每次写都有可能刷新主存导致缓存失效,从而导致性能低下,即伪共享。可以使用缓
java日志系统详解 转自:http://ieye.iteye.com/blog/1924215Java日志系统确实比较丰富,常用的有log4j、JUL、logback等等,同时伴随着日志系统的发展,出现了日志框架commons-logging和slf4j。简短地描述下日志发展,最先出现的是apache开源社区的log4j,这个日志确实是应用最广泛的日志工具,成为了java日志的事实上的标准。然而,
hbase时间戳踩坑小记 大家知道,像OB,HBase这种存储系统,插入数据的时候,一般数据上都会有一个时间戳(ts)。Hbase有一个TTL(time to live),可以标识数据的有效期,比如,可以把TTL设置成86400*1000,也就是说数据将于1天后过期。这是一个表级的设置,必须在建表时指定。但是如果说你需要存储某一天内的数据,到第二天0点失效。这种情况TTL是没法控制的,因为TTL只能控制数据在一段时
google guava bloom filter包的坑 关于bloom filter以及原理,见我之前转的这篇:http://blog.csdn.net/inte_sleeper/article/details/7824857下面开始实战篇。google guava包是包含了一个bloom filter的实现的,使用方式比较简单,其实就是一行代码:BloomFilter filter = BloomFilter.create
maven filter插件只替换了部分变量问题排查小记 maven的resources插件,有一个filter的作用,能够在打包的时候,从特定文件里读取key-value对,替换配置文件中的占位符变量。很多线上线下有不同环境的应用,都是用这种方式来打包,只需要在文件中配置不同的值即可。下面就是一个最简单的配置: Test ${user.home}/antx.properties
BDB je二级索引操作 BDB是使用k-v存储的,默认就是一个key对应一个value,也就是说以key为索引。但是BDB是支持二级索引的,即Secondary Database,这个在官方文档有。不过它没提到的是,BDB支持多个二级索引。下面的代码,演示了如何创建多个二级索引,插入数据,然后通过二级索引查询数据。/** * @author wange */import com.sleepycat.je.
iOS开发学习笔记 -- (五)关于Table的更多 原文:http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewStyles/TableViewCharacteristics.html#//apple_ref/doc/uid/TP40007451-CH3-SW1一、Table的样式表格
iOS开发学习笔记 -- (四)使用Table 【update 2013-03-13 添加了分组的表格的示例】今天开始学使用表格。iOS的表格是UITableView实现的,一个table包含多行,但每行只有一列。这篇文章:http://www.cnblogs.com/minglz/archive/2013/01/10/2845032.html 比较详细地说明了结合使用interface builder创建table的过程,我们还是
iOS开发学习笔记 -- (二)动态添加控件和事件处理 刚开始学iOS开发的时候,经常要跟interface builder打交道,乍一看拖控件是挺方便的,跟以前做C#开发类似,但是Xcode比较恶心的一点是,拖完控件之后,还得手动地在Connections Inspector中绑定控件和变量的关系,事件的绑定也在这里完成。当然如果这些都有一个源代码给我们看到,倒也还好(比如C#中的xx.designer.cs),但是Xcode又全部给扔到了.xib文
iOS开发学习笔记 -- (三)动态创建视图 这次的例子会演示用编程的方式使用TabBarController及创建视图。它会创建两个TAB,然后在每个TAB页中,加载我们自己定义的一个视图。最终结果如下: 先新建一个项目,因为不需要interface builder,我们选择Empty的项目类型。项目创建完成后,主要文件只有:AppDelegate.h和AppDelegate.m。接下来,我们需要创建自定义
iOS开发学习笔记 -- (一)hybrid app 最近开始看iOS开发,看了个把星期,写几篇笔记。顺序有点乱,想到什么写什么好了。因为上周刚刚参加了一个hybrid app开发的培训,感觉Hybrid app开发是一个比较好的方式,可以充分利用web页面布局的特性(当然,还重用了web开发的知识),避免写纯native app UI的痛苦。而目前纯HTML5的开发,虽然也有相关的应用,但是有时又损失了hybrid方式的灵活性。当然hybr
相似图片搜索的三种哈希算法 【转自】:http://blog.csdn.net/nash_/article/details/8618775想必大家都用google或baidu的识图功能,上面就是我搜索冠希哥一幅图片的结果,达到图片比较目的且利用信息指纹比较有三种算法,这些算法都很易懂,下面分别介绍一下:一、平均哈希算法(aHash)此算法是基于比较灰度图每个像素与平均值来实现的
精通正则表达式读书笔记(三) 优化:0. 正则表达式应用原理a. 编译b. 传动开始:将正则引擎定位至目标字符串的起始位置。c. 元素检测d. 寻找匹配结果:如果找到一个匹配结果,传统型NFA会锁定在当前状态,并报告匹配成功。而对于POSIX NFA来说,如果这个匹配是迄今为止最长的,它会记住这个可能的匹配,然后从可用的状态继续下去。直到尝试了所有的可能,并找到全局的最大匹配。e. 传动装置的驱动过程:
python的curses模块使用 参考:http://docs.python.org/2/howto/curses.htmlcurses(早期名称,现在是ncurses)包的封装,用于实现终端无关的控制台输出以及输入处理。curses包支持各种终端,从古老的VT100到LINUX控制台到X11终端如xterm或rxvt。curses把终端当作一个矩阵,即单元格的集合,每一个ascii字符代表最小的char-cell。注