自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (2)
  • 收藏
  • 关注

原创 Null Object 模式

有时候,我们可以定义一个"空对象"来代替null,这样可以更加优雅的处理对象为null的情况,避免空指针异常。例如定义二叉树结点的时候,可以用一个NullNode结点来定义空结点。那么一个叶子结点的左子树和右子树就都可以指向NullNode,从而避免了可能引起空指针异常的null。类图:代码:/** * * Interface for binary tree node. * */pub

2017-08-30 20:44:13 850

原创 值对象(Value Object)模式

针对一些数据对象,我们更强调的是这个对象的值而不是这个对象本身的时候,就可以使用值对象模式。意思就是两个对象判定相等的时候应该是两个对象的"值"相等,而不是它俩必须是同一个对象。在编写值对象模式的时候,应该注意以下几点(以java为例):1、必须重写equals()、hashCode(),且重写的原则是两个对象的"值"相等的化,equal()和hashCode()必然相等。2、值对象一般不可修改,

2017-08-30 14:36:25 6342

原创 对象池(Object Pool)模式

对象池模式适用于当对象的创建代价比较高又需要频繁创建的时候。对象池模式会创建一批对象缓存起来待用。当需要对象的时候就从缓存池中获取,不需要的时候就放回缓存池中。当缓存池中对象不够用的时候又会创建新的对象放到缓存池中。类图如下:代码如下:/** * * Oliphaunts are expensive to create * */public class Oliphaunt { p

2017-08-30 12:57:40 1203

原创 二分查找及其拓展

二分查找,也叫"折半查找",是一个很常见的算法。其原理思想或多或少都了解。我还记得上大学的时候讲数据结构的老师说过:使用二分查找的一个重要的先决条件是被查找的数组必须是有序的。这句话放到当时的语境来讲是正确的。但是,随着工作中逐渐遇到各种各样的查找算法,到头来发现都是二分查找的思想,有些数组不一定就有序,有些也有可能都不是单纯的数组。但是都可以从中提炼出二分查找的思想来。因此,我觉得有必要归纳总结

2017-08-16 11:29:55 1348

原创 常见的代码托管平台

gitlab ( inner-source )https://gitlab.com/gitlab-org/gitlab-cehttp://gitlab.baidu.com/github ( open-source, social coding )https://github.com/Bitbuckethttps://bitbucket.org/phabricatorhttp://pha.zz.ba

2017-08-09 17:12:48 2762

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除