摘要:Class file format Code Attribute native and abstract has not any code attributes, and LocalVariableTable in Code attribute, so we can not get parameter name from interface methods. 阅读全文
JVM Spec 1-3
2012-09-27 23:07 by 横刀天笑, 900 阅读, 0 推荐, 收藏, 编辑
摘要:Runtime areasPc register Point current code address undefine -> in native codeThread related JVM method stack expandable size fixed size Exceptions StackOverflow OOM Can not expand Can not create new threadFrame Size: determined at compile timeNative method stackGlobal Heap GC Exception... 阅读全文
为什么女生总是将手机遗落在卫生间
2012-09-27 01:07 by 横刀天笑, 3720 阅读, 0 推荐, 收藏, 编辑
摘要:公司RTX经常弹出这样的小窗口:女卫生间丢失手机一部,请丢失手机的同学来前台认领。但奇怪的是这事儿只发生在女卫,而男卫一次都没发生过。难道是我们公司的女生比男生更不细心?为此我发了一条微博和一条消息引起了大家热烈讨论,最后大概得出这么几条结论:1 女生喜欢玩手机,所以追女生可以送手机2 女生穿裙子,经常没有兜儿,然后又喜欢照镜子梳妆,所以总是把手机忘记在洗手台上3 男卫以前有那种临时放物品的兜儿,上洗手间时经常把手机方里面,现在撤走了,估计女卫里没撤走对于答案1就不用讨论了答案2和答案3,首先要看大部分手机遗落在哪儿,如果是遗落在洗手台,那我们怎么解决这个问题呢?想起《你的灯亮着吗》这本书里, 阅读全文
Java基础知识复习
2012-09-24 00:15 by 横刀天笑, 3030 阅读, 2 推荐, 收藏, 编辑
摘要:最近准备把java的一些基础知识复习一遍,列了个列表1 JVM规范 class加载过程 class file大概结构 invoke指令 2 Servlet规范 API Servlet生命周期 异步Servlet 3 JVM 内存区域 Java堆 方法区 Java方法栈 本地方法栈 GC 代 新生代 Eden Survivor 旧生代 持久代 不同类型GC Serial ParNew Parallel Scavenge Serial Old Paral... 阅读全文
普罗米修斯观后感
2012-09-23 14:49 by 横刀天笑, 1822 阅读, 0 推荐, 收藏, 编辑
摘要:看完《普罗米修斯》有几个问题没想太明白:1 那个机器人为什么这么仇恨人,要把他们害死呢?2 那个外星人为啥把机器人也干了?3 最后在那个返回舱里,那个章鱼似的怪物是哪儿来的?4 那个章鱼怪物为啥跟那个外星人火拼?后来想了想,自己给出这么几个答案:1 整场电影的意思是,外星人创造了人类,后来又因不明原因想毁灭人类。如是机器人又在想:人类制造了我,是不是有一天我也会被人类毁灭?所以它萌发了想干掉人类的动机。在之前,那个男博士与机器人的一次聊天中提到了这个。2 机器人和人类长的太像了,所以外星人以为机器人是人类,也给干掉了。这个在影片中,他们第一次出仓的时候,机器人曾说过:我倒宁愿他们把我制造的与你 阅读全文
【转载】来自Clean Code的一段话,正好形容公司目前一个系统
2012-06-07 22:22 by 横刀天笑, 2389 阅读, 6 推荐, 收藏, 编辑
摘要:混乱的代价只要你干过两三年编程,就有可能曾被某人的糟糕代码绊倒过。如果编程不止两三年,也有可能被这种代码拖过后腿。进度延缓的过程会很严重。有些团队在项目初期进展迅速,但有那么一两年的时间却慢如蜗行。对代码的每次修改都影响到其他两三处代码。修改无小事。每次添加或修改代码,都得对那堆扭纹柴了然于心,这样才能网上扔更多的扭纹柴。这团乱麻越来越大,再也无法理清,最后束手无策。随着混乱的增加,团队生产力也持续下降,趋向于零。当生产力下降时,管理层只有一件事可做了:增加更多的人手到项目中,期望提升生产力。可是新人并不熟悉系统的设计。他们搞不清楚什么样的修改符合设计意图,什么样的修改违背设计意图。而且,他们 阅读全文
UI自动化测试随笔
2012-05-25 23:46 by 横刀天笑, 5395 阅读, 0 推荐, 收藏, 编辑
摘要:昨天给开发的同事讲我们正在做的自动化测试,同事问了句:为什么API的测试不需要写代码了,而UI的测试还需要写那么多代码呢? 能不写代码么?目前我们的自动化测试的现状:目前主要覆盖两个部分:API的测试和UI的测试。对于API的测试经过框架的封装,基本上只需要编写一个xml描述的test case就可以了,xml里描述了输入,调用和断言。框架就根据这个xml来测试具体的API,基本上(99%)不需要写代码了。而UI的测试在这方面框架封装的却比较少(力所能及的封装一些通用控件),更多的是制定一些分层的规范。我当时回答:因为API的输入和输出比较明确,而且目前的API的测试还仅仅是关注在单个API上 阅读全文
Bloom Filter算法
2012-02-08 23:22 by 横刀天笑, 10148 阅读, 2 推荐, 收藏, 编辑
摘要:集合数据结构一般都有这么一个方法:contains。其作用就是判断给定的元素是否存在集合中,这是一个常用的方法。其最简单的内部实现即遍历集合内的元素,一个个的判断是否与给定元素相等。为了更高效点我们甚至可以采用“更好的(好是相对的)”算法实现。比如如果该集合是已经排序的,那么我们用二分查找来实现contains肯定更好。但是,如果集合的数据量庞大到一定程度,大部分我们熟知的算法不再有什么用了。即使可以使用,但是机器内存也不允许。而Bloom Filter就是这么一个空间利用率非常高的算法。我们先来看看这个算法的原理:1 首先我们有一个长度为n的比特数组,开始的时候将这个比特数组里所有的元素都初 阅读全文
memcached源代码阅读笔记(二):网络处理部分
2012-01-02 11:30 by 横刀天笑, 3684 阅读, 0 推荐, 收藏, 编辑
摘要:既然memcached是一个缓存服务器,而且要提供高效的缓存服务,那么网络层肯定要非常有效率才行。要能支撑大量的并发连接,还要有很优秀的响应速度。除此之外,因为memcached的核心业务并不是网络层,它的核心是缓存机制。那么就必须采用一种机制,将网络层隔离,以免网络通信部分缠绕在系统的各处,扰乱了核心逻辑。 阅读全文
关于自动化测试
2011-12-14 14:16 by 横刀天笑, 3608 阅读, 0 推荐, 收藏, 编辑
摘要:自动化测试是软件开发中非常重要的一环,那么我们如何进行自动化测试呢?何时添加自动化测试呢?自动化测试又有些什么作用。本文是我在team内部分享的一些内容。 阅读全文