- 博客(8)
- 收藏
- 关注
原创 去分布式事务
分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于分布式系统的不同节点之上。为了实现分布式事务,需要使用下面将介绍的两阶段提交协议。 阶段一:开始向事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来异常结束事务。如果任意一个资源决定异常结束事务,则整个事务取消,不会进行资源的更新。否则,事务将正常执行,除非发生灾难性的失败。为了...
2011-12-10 14:08:34 148
原创 跳表SkipList的原理和实现
最近看了一种数据结构叫做skipList,redis和levelDB都是用了它。Skip List是在有序链表的基础上进行了扩展,解决了有序链表结构查找特定值困难的问题,查找特定值的时间复杂度为O(logn),他是一种可以代替平衡树的数据结构。 下面是skipList的一个介绍,转载来的,源地址:http://kenby.iteye.com/blog/1187303,...
2011-12-04 19:01:42 436
原创 一致性哈希算法——constant hashing
一致性哈希算法在1997年被提出,英文名叫constant hahsing,目前这种算法被广泛的应用到了cache系统中。 在cache系统中如何保证在添加或者较少节点服务器时尽可能减少数据的移动是一大挑战,这要求负责路由的hash算法具有很高的单调性。Constant hashing就是满足需求的算法之一。 一般情况下,hash算法会将值映射到32位的数值空...
2011-12-03 19:21:36 383
原创 布隆过滤器——Bloom Filter
谷歌的数学之美系列曾经提到过一种数据结构叫做bloomfilter,翻译成中文就是布隆过滤,文中使用布隆过滤器来过滤黑名单。后来我在毕业设计中也用到了它来过滤重复的URL,避免网络爬虫重复抓取。再后来在单位又一次的用到了bloomfilter来过滤用户的重复访问。随着海量数据时代的到来,布隆过滤器应用的场景越来越多。 布隆过滤器(Bloom Filter)是1970年由Burton H...
2011-12-03 18:17:23 536
原创 PO BO VO DTO POJO DAO概念及其作用(附转换图)
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋友会会心一笑)。 首先声明偶也不是什么高手,以下总结都是自己的体会。不对之处请您多指教。PO:persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记...
2011-03-06 15:24:21 270
原创 解决生僻汉字,你需要了解Java的增补字符
摘要本文介绍 Java 平台支持增补字符的方式。增补字符是 Unicode 标准中代码点超出 U+FFFF 的字符,因此它们无法在 Java 编程语言中描述为单个的 16 位实体(例如 char 数据类型)。这些字符一般极少用,但是,有些会在诸如中文或日文人名中用到,因此,在东亚国家,政府应用程序通常会要求支持这些字符。Java 平台目前正在改进,以便支持对增补字符的处理,这种改进对...
2010-12-09 10:26:15 740
精确运算避免使用float和double
在《你可能不知道的Java基础知识(一)》中,我提到使用浮点运算要慎重,感觉说的不够透彻,其实float和double类型主要是为科学和工程计算而设计的。他们执行的是二进制浮点运算,由于二进制的局限性,有时候无法得到准确的结果。例如:System.out.println(2.0-1.1)将输出0.8999999999999999,而不是0.9,当然这在科学计算中无关紧要,通过四...
2010-12-03 10:53:12 330
你可能不知道的Java基础知识(一)
鄙人在校大学生一枚,学习Java两年有余,深感Java之简单易用和博大精深。遂利用闲暇之余整理下自己认为很容易被忽视的Java基础知识和使用习惯,希望对大家有用。1、JavaScript和Java的关系很多初学者认为JavaScript是Java的简易版本(鄙人初学也这么认为,汗一个!),其实两者除了语法有点相似以外没有任何关系。 JavaScript是Netscape发明的,是一种在网页...
2010-12-02 19:52:19 94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人