修行笔记
文章平均质量分 84
iteye_19428
这个作者很懒,什么都没留下…
展开
-
你可能不知道的Java基础知识(一)
鄙人在校大学生一枚,学习Java两年有余,深感Java之简单易用和博大精深。遂利用闲暇之余整理下自己认为很容易被忽视的Java基础知识和使用习惯,希望对大家有用。1、JavaScript和Java的关系很多初学者认为JavaScript是Java的简易版本(鄙人初学也这么认为,汗一个!),其实两者除了语法有点相似以外没有任何关系。 JavaScript是Netscape发明的,是一种在网页...2010-12-02 19:52:19 · 86 阅读 · 0 评论 -
精确运算避免使用float和double
在《你可能不知道的Java基础知识(一)》中,我提到使用浮点运算要慎重,感觉说的不够透彻,其实float和double类型主要是为科学和工程计算而设计的。他们执行的是二进制浮点运算,由于二进制的局限性,有时候无法得到准确的结果。例如:System.out.println(2.0-1.1)将输出0.8999999999999999,而不是0.9,当然这在科学计算中无关紧要,通过四...2010-12-03 10:53:12 · 320 阅读 · 0 评论 -
去分布式事务
分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于分布式系统的不同节点之上。为了实现分布式事务,需要使用下面将介绍的两阶段提交协议。 阶段一:开始向事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来异常结束事务。如果任意一个资源决定异常结束事务,则整个事务取消,不会进行资源的更新。否则,事务将正常执行,除非发生灾难性的失败。为了...原创 2011-12-10 14:08:34 · 140 阅读 · 0 评论 -
布隆过滤器——Bloom Filter
谷歌的数学之美系列曾经提到过一种数据结构叫做bloomfilter,翻译成中文就是布隆过滤,文中使用布隆过滤器来过滤黑名单。后来我在毕业设计中也用到了它来过滤重复的URL,避免网络爬虫重复抓取。再后来在单位又一次的用到了bloomfilter来过滤用户的重复访问。随着海量数据时代的到来,布隆过滤器应用的场景越来越多。 布隆过滤器(Bloom Filter)是1970年由Burton H...原创 2011-12-03 18:17:23 · 525 阅读 · 0 评论 -
一致性哈希算法——constant hashing
一致性哈希算法在1997年被提出,英文名叫constant hahsing,目前这种算法被广泛的应用到了cache系统中。 在cache系统中如何保证在添加或者较少节点服务器时尽可能减少数据的移动是一大挑战,这要求负责路由的hash算法具有很高的单调性。Constant hashing就是满足需求的算法之一。 一般情况下,hash算法会将值映射到32位的数值空...原创 2011-12-03 19:21:36 · 369 阅读 · 0 评论 -
跳表SkipList的原理和实现
最近看了一种数据结构叫做skipList,redis和levelDB都是用了它。Skip List是在有序链表的基础上进行了扩展,解决了有序链表结构查找特定值困难的问题,查找特定值的时间复杂度为O(logn),他是一种可以代替平衡树的数据结构。 下面是skipList的一个介绍,转载来的,源地址:http://kenby.iteye.com/blog/1187303,...原创 2011-12-04 19:01:42 · 420 阅读 · 0 评论