正文内容加载中...
posted @ 2012-05-09 22:07 Kevin Dai 阅读(197) 评论(0) 编辑
摘要: 在<>里写参数类型时,如果是要读取,我们应该用extends,如果是要写值或者改变,我们应该用super。Java的泛型和C#的泛型真是大不一样啊,还是C#的好用。 阅读全文
posted @ 2009-11-13 23:43 Kevin Dai 阅读(317) 评论(1) 编辑
摘要: 众所周知,要想能获取一个类的实例,该类得要提供一个public的构造器。但是《Effective Java》书中说还有一个方法,那就是提供静态工厂方法(static factory method),该方法时静态,同时可以根据参数返回一个类的实例。这里的静态工厂方法(static factory method)和设计模式里的工厂方法(factory method)是不一样的,我觉得工厂方法注重的是多态。 阅读全文
posted @ 2009-11-10 00:38 Kevin Dai 阅读(554) 评论(0) 编辑
摘要: 看书看书,争取在月底前把《Java Generics and Collection》、《Java Concurrency in Practice》看完。其他的(分布式、架构方面的东东)先放放,先把这些基础打好。多写写代码。话说《Effective Java》基本看完了,还是很想记录记录的,今晚回来就写Item1的读书笔记吧,感觉这本书还是非常不错的。 阅读全文
posted @ 2009-11-06 13:57 Kevin Dai 阅读(148) 评论(0) 编辑
摘要: 记得第一次看到Dynamo论文时,当时看了一点点,就不看了,只知道它是个Key-value store。感觉很深奥。现在又拿起它,昨天晚上看了看,感觉又吸收了一部分,把Consistent Hashing彻底搞懂了,Dynamo采取变通的方法,引入了虚拟结点,引入了虚拟结点带来了几个好处。还大概看了一下Last.fm上一个Consistent Hashing实现(他是采用一致性哈希算法来做分布式缓存的,这样在某个Server当掉时就不需要remap全部)。Dynamo强调牺牲一致性换来可用性和高效性,最后还是要确保一致性(BASE)!看过一些文章后,我感觉冲突处理的办法不是特定的,需要结合业务来处理,各种情况的冲突处理是不一样的。昨天又温习了MapReduce计算模型,好简单好经典,但是就是能让你为之一震。阅读全文
posted @ 2009-11-02 12:56 Kevin Dai 阅读(339) 评论(0) 编辑
摘要: In partitioned databases, trading some consistency for availability can lead to dramatic improvements in scalability. 阅读全文
posted @ 2009-10-31 15:55 Kevin Dai 阅读(215) 评论(0) 编辑
摘要: 在必须强调365天每天24小时都可用的网站中,很多大型网站都是妥协了暂时的一致性,保证了可用性,但是最后系统还是要保证最终一致性。如果单纯依靠ACID,那并发数会降低,会造成一定的不可用。不过有的功能的确是需要严格一致性的,比如资金划拨这样的动作。支付宝首席架构师程立的那个PPT里也是这样说的,可以对不同的功能进行分级。 阅读全文
posted @ 2009-10-28 11:29 Kevin Dai 阅读(171) 评论(0) 编辑
摘要: Java泛型中的类型擦除,意为只在编译时刻进行类型检查,实际在运行时,编译器会自动插入相应的转换(cast)代码。阅读全文
posted @ 2009-09-24 00:36 Kevin Dai 阅读(483) 评论(0) 编辑
摘要: 您能写出一个正确的二分查找算法吗?文末还有一个有趣的问题。阅读全文
posted @ 2009-09-18 02:07 Kevin Dai 阅读(4123) 评论(29) 编辑
摘要: 一些常用SQL集锦。阅读全文
posted @ 2009-09-17 20:00 Kevin Dai 阅读(134) 评论(0) 编辑