01 2016 档案
摘要:单点登录(Single Sign On),简称为SSO,SSO不仅在企业级开发很常用,在互联网中更是大行其道。随便举几个例子,比如我们登录新浪微博后,再访问新浪首页后,我们发现,已经自动登录了;再比如我们登录CSDN后,可以写博客、逛论坛、下载资源等等。前者是完全跨域的单点登录,下文会讲,后者是共同
阅读全文
摘要:引言 HTTP是一个属于应用层的面向对象的协议,主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径,协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象,类型由Content-Type加以标记
阅读全文
摘要:公司的一些业务类最开始的设计只实现了核心功能,在后来不断的发展中,需要对其功能进行扩展,增加诸如缓存、加密等功能。为了符合开闭原则,不对原有类进行修改。如果通过新增类继承原有类的方式,类的数量将会成几何级上涨。例如原有3个类,现在要对这些类都扩展四个新功能。那最少就要增加12个子类。臃肿、麻烦。 装
阅读全文
摘要:一、构建 传统构建工作繁琐、重复,每个项目重新准备。 二、使用入门 Maven项目的核心是pom.xml。定义项目信息、如何构建、依赖等。 groupId:指定项目属于什么实际项目 artifactId:指定项目在实际项目中的唯一id。 version : 版本。SNAPSHOT 快照版。 name
阅读全文
摘要:1.Java开发经常会与异常打交道,本片文章对异常有一个浅显的分析和记录。 2.JAVA异常 异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,
阅读全文
摘要:Java提供的动态代理,是“代理模式”的一个实现。代理模式简介:http://www.cnblogs.com/endlu/p/5169749.html 静态代理有一定的弊端,为每一个被代理类都编写一个代理类会让系统变得臃肿,而且不够灵活。动态代理,是在运行时动态的生成一个代理类和代理对象。解决这方面
阅读全文
摘要:当对象难以访问或需要对对象的使用加以控制/限制时,可以为对象设置一个代理,代理来持有该对象的实例。对该对象的访问都经由代理对象来控制,再由代理对象去调用被代理对象的实现。这种方法,被称为代理模式。为了增加客户端对目标对象访问的透明性,目标对象和代理类要实现相同的接口,使客户端对方法的使用没有什么区别
阅读全文
摘要:考虑实现一个管理公司组织架构的系统,公司下可能包含子公司,子公司下包含CEO等最高管理者和部门,部门下又包含部门管理者和小部门,等等。抽象成数据结构,就是一个树形结构。 如果为每一种尸体类型都定义一个类,那至少要包括总公司/子公司/部门/员工,这四个类。每个类的所包含的成员也有很大不同,均需要定制。
阅读全文
摘要:Collections类提供了两个sort方法,目标都是List<T> list,不同时可选择自己指定一个Comparator。 public static <T> void sort(List<T> list, Comparator<? super T> c) { list.sort(c); }
阅读全文
摘要:思考一个这样的场景,如果你是一个会变通的卖肉夹馍的商人,你觉得只卖传统的一种没有什么新意。所以你提供的馍有白吉馍、面包片、馒头片等多种类型,同时肉也分为牛肉、驴肉、猪肉等。一经上市,果然大受欢迎,卖得非常好。这时,你又开始在馍和肉上继续寻找新的原料来增加你的种类。那么问题来了,如果每天开卖之前,你都
阅读全文
摘要:二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。定义二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根...
阅读全文
摘要:上次提到,行为树可以让代码更加模块化,也可以提高重用性。这次我们就来看看一个行为树框架是什么样的。如果你对行为树比较陌生,可以先浏览一下游戏AI - 行为树Part1:简介。关键词在展开之前,我们先定义几个关键词(基本都以BT作为前缀...是Behavior Tree之意,别误会了...),会在下面...
阅读全文
摘要:背景游戏中的AI,大多数都是按照规则设定好的,没有太多花哨的技术。原因有几个:一是出于风险成本的考虑,用一个新技术,需要程序员开发相应的算法和框架,游戏设计师重新上手设计方法和摸索算法的适用范围,小团队承受不起这样的开销,大团队又怕做坏名声;二是“高级”的AI算法并不直观,难以设计。举一个例子,怎么...
阅读全文
摘要:描述: 0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x390000, State 0x10...
阅读全文
摘要:基础配置例子(以下均是YAML格式)。还可以在此基础上进行自定义增加,比如setParameter,认证等等以下仅供参考。单实例: systemLog: destination: file###日志存储位置 path: /data/mongodb/log/mongod.log logAppend:...
阅读全文
摘要:MongoDB 是一种流行的非关系型数据库。作为一种文档型数据库,除了有无 schema 的灵活的数据结构,支持复杂、丰富的查询功能外,MongoDB 还自带了相当强大的 sharding 功能。 要说 MongoDB 的 sharding,首先说说什么是 sharding。所谓 shardi...
阅读全文
摘要:配器模式定义如下:适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 从定义中,很容易理解该模式所要解决的问题和解决方法。在实际开发中,...
阅读全文
摘要:一、单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说就是,一个类只负责一项职责。简述:这个比较容易理解,单一职责即只负责自己最应该负责的那一个特定的功能。否则,如果负责多项职责,当其中一个发生变化时,可能会对其他功能产生影响,可维护性、可读性、复杂性都会好。这个原则同样适用于方法级别和...
阅读全文
摘要:深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间...
阅读全文
摘要:公司的统计系统接到一个需求,统计时间段内发生过某行为的用户总数。并且时间段的长度是可变的。公司业务用户数量巨大,而且统计系统是实时统计,所以数据的存储、计算效率都需要一个比较好的方案。下面是互联网上的一篇文章,利用redis bitmap。getspool.com的重要统计数据是实时计算的。Redi...
阅读全文
摘要:public final class String implements java.io.Serializable, Comparable, CharSequence { privatefinalchar value[]; privateint hash;}String其实是对一个char数组的...
阅读全文
摘要:建造者模式也是对象创建模式,主要用于构建复杂的组成对象。既对象类由多个组件组成,如汽车由引擎/轮子/方向盘/框 架等部分组成。建造者模式的目的在于,在客户端制定特性类型的前提下,透明的创建这些组件并组成最终产品,而这一切对客户端是透明的。而且扩展不同的复杂对象类时,要易于扩展。 定义:建造者...
阅读全文
摘要:原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。 原型模式,就是将一个原型对象传递给要发动创建行为的对象,要发动创建行为的对象调用原型对象的拷贝方法来实现对象的创建。它属于创建型模式,特殊的是原型类本身...
阅读全文
摘要:单例模式也许是最常见的一种设计模式了。看起来简单,实际上如果不注意细节,产生的问题,相对还是有些复杂的。 在软件系统中,我们希望某些类始终保持最多一个实例对象的存在,来保证一致性或者节约内存等。这时,就用到了单例模式。 单例模式的做法是,将类的构造方法私有化,不对外开放。在类的内部定义一个该...
阅读全文
摘要:一、简单工厂 对象的创建方式有很多,常用new来创建。但是这种做法在一些情况下,有很多不好的地方。比如创建操作散落在代码的多处、对象的创建职责和使用职责混合到一起等等。简单工厂可以一定程度上解决该问题。通常的做法是对被创建的多个类进行抽象,将公共成员和方法放到抽象类中。不同的类继承抽象类,对细节进...
阅读全文
摘要:之前所有的学习记录、转载文章都在本地存储,丢过几次后,怕了。平时读的技术文章,发现除了自建博客的,博客园算是使用率很高的地方了。我也来凑一手。 13年开始工作,到现在整好是3年了。从开始的小游戏公司的望眼欲穿,后来自己创业做公司的心力交瘁,一直到现在的转方向到京东,一路上坎坎坷坷。没有多大的技...
阅读全文