摘要: 设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两 阅读全文
posted @ 2016-08-13 23:50 wade&luffy 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非主键字段不能相互依赖; 解释: 1NF:原子性 字段不可再分,否则就不是关系数据库; 2NF:唯一性 一个表只说明一个事物; 3NF:每列都与主键有直接关系,不存在传递依赖; 不符合第一范式的例子(关系数据库中create不出这样 阅读全文
posted @ 2016-08-13 23:25 wade&luffy 阅读(230) 评论(0) 推荐(0) 编辑
摘要: ZooKeeper的基本原理 ZNode的基本概念 ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每个ZNode都可以通过其路径唯一标识,在每个ZNode上可存储少量数据(默认是1M, 可以通过配置修改, 通常不建议在ZNode上存储大 阅读全文
posted @ 2016-08-13 13:28 wade&luffy 阅读(3511) 评论(0) 推荐(0) 编辑
摘要: 枚举的序列化和反序列化 在序列化的时候Java仅仅是将枚举对象的name属性输出到结果中,反序列化的时候则是通过java.lang.Enum的valueOf方法来根据名字查找枚举对象。 同时,编译器是不允许任何对这种序列化机制的定制的,因此禁用了writeObject、readObject、read 阅读全文
posted @ 2016-08-13 03:02 wade&luffy 阅读(499) 评论(0) 推荐(0) 编辑
摘要: AOP使用场景 AOP用来封装横切关注点,具体可以在下面的场景中使用: Authentication 权限 Caching 缓存 Context passing 内容传递 Error handling 错误处理 Lazy loading 懒加载 Debugging 调试 logging, traci 阅读全文
posted @ 2016-08-13 02:12 wade&luffy 阅读(1371) 评论(0) 推荐(0) 编辑