significantfrank
我是阿里巴巴架构师,团队直招技术岗,请联系我:fulan.zjf@alibaba-inc.com

导航

 

2012年3月26日

摘要: 1. HistoryDoug Cuttingis inspired by the the paper,MapReduce: Simplified Data Processing on Large Clusters by Jeffrey Dean and Sanjay Ghemawat from Go... 阅读全文
posted @ 2012-03-26 10:44 significantfrank 阅读(105) 评论(0) 推荐(0) 编辑
 

2012年3月20日

摘要: 作为一本技术指导书,显然这本书有些outdated了,但想想现在的一些框架,架构正是基于这本书的思想构建的,还是不免对作者当时的Vision感到钦佩。出于对这些思想本源的追索,以及对历史的追溯。还是很有必要浏览这本经典著作的,对于这个500页的书,我看的比较快,只是跳一些感兴趣的点着重看下,事实证明... 阅读全文
posted @ 2012-03-20 15:24 significantfrank 阅读(153) 评论(0) 推荐(0) 编辑
 

2011年12月6日

摘要: 虚拟化和抽象化无所不在,计算机科学里有一句老话:所有问题都可以通过增加一个间接层来解决。操作系统是对硬件的虚拟化;许多现代语言所用的虚拟机又是对操作系统的抽象;对象-关系映射层抽象了数据库;负载均衡和虚拟IP抽象了网络终端;云计算(infrastructure as service)虚拟化了Infr... 阅读全文
posted @ 2011-12-06 15:25 significantfrank 阅读(128) 评论(0) 推荐(0) 编辑
 

2011年11月19日

摘要: Effective JavaItem 48: Avoid float and double if exact answers are required对于精确计算不提倡使用float,double,因为会丢失精度,这是为什么呢? 让我细细说来1. 什么是浮点数?表示一个数字如100.2,可以是Fix... 阅读全文
posted @ 2011-11-19 10:19 significantfrank 阅读(1338) 评论(0) 推荐(1) 编辑
 

2011年11月9日

摘要: 如果我们在使用有一个枚举类型时,每次会用到其一项或多项(也就是enum set)时,会怎么做呢?在Java没有引入EnumSet之前,有一种叫int enum pattern(assigning a different power of 2 to each constant)的做法,例如一个字体的s... 阅读全文
posted @ 2011-11-09 17:03 significantfrank 阅读(173) 评论(0) 推荐(0) 编辑
 

2011年11月1日

摘要: 为什么要Hash?哈希表是基于数组实现的,哈希算法就是如何将键值(key)转换成数组小标的方法,哈希化可以提供非常高的操作(插入、删除、查询)效率,因为对有序数组的查询,即使是二分查找也只能做到O(logN),因为哈希可以直接将要查询的key转化为数组小标,所以可以达到O(1)的时间级。Hash算法... 阅读全文
posted @ 2011-11-01 13:31 significantfrank 阅读(591) 评论(0) 推荐(0) 编辑
 

2011年8月26日

摘要: 写过些Swing的东西,感觉View 和 Controller之间的紧耦合,甚是恼人。看了PureMVC后感觉其对关注点的分离还是做的很好,结合网上的资料和自己的体会记录于此。PureMVC中,引入了Mediator模式去解耦View和Controller,并协调多个view之间协同工作,用Even... 阅读全文
posted @ 2011-08-26 16:48 significantfrank 阅读(132) 评论(0) 推荐(0) 编辑
 

2010年7月30日

摘要: 1. Why Use Nested Classes?There are several compelling reasons for using nested classes, among them:It is a way of logically grouping classes that are... 阅读全文
posted @ 2010-07-30 16:23 significantfrank 阅读(171) 评论(0) 推荐(0) 编辑
 

2010年2月1日

摘要: By the time you write your first complete use case, you’ll realize you’re going to have more extensions than use cases. Extensions are the primary way... 阅读全文
posted @ 2010-02-01 13:49 significantfrank 阅读(151) 评论(0) 推荐(0) 编辑
 

2009年10月12日

摘要: 经常需要在Java中调用其它的脚本(shell,cmd), 以前都用:Runtime r = Runtime.getSystemRuntime();r.exec("whatever you want to run");但是有时侯其运行结果是不可预期的,带来很多麻烦。从java 5.0以后,引入了Pr... 阅读全文
posted @ 2009-10-12 16:43 significantfrank 阅读(153) 评论(0) 推荐(0) 编辑