摘要:
首先思考自研一套服务注册中心需要考虑的因素: 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本) 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性) 分区容忍性(P):就是当由于网络故障 阅读全文
摘要:
掌握了数据结构和算法才能够写出性能更优的代码。而看待问题的深度,解决问题的角度就会完全不一样。 数据结构 数组 链表 栈 队列 散列表 堆 二叉树 图 Trie树 跳表 一些常见算法 递归 排序 搜索 二分查找 哈希算法 贪心算法 分治算法 回溯算法 动态规划 字符串匹配算法 摆脱CRUD boy, 阅读全文
摘要:
前戏《浅析AOP(一)——基本概念》已经准备好了前置认识。 本篇再剖析一下AOP。 SpringAOP的底层技术 JDK动态代理和CGLIB动态代理 两者都是在运行时期织入。 JDK动态代理是基于聚合接口来的,因为java是单继承,代理对象已经继承了Proxy,不能再多继承了,所以只能实现目标对象的 阅读全文
摘要:
什么是AOP? 与OOP对比,AOP是处理一些横切行问题。这些横切性问题不会影响到主逻辑的实现,但是会散落到代码的各个部分,难以维护。AOP就是把这些问题和主业务逻辑分开,达到与主业务逻辑解耦的目的。 传统OOP是自上而下的逻辑开发; OOP: AOP是一种面向切面的编程思想。这些横切性问题,把它们 阅读全文
摘要:
为什么要用IOC? 第一:对象的实例化不是一件简单的事情,比如对象的关系比较复杂,依赖关系往往需要程序员去维护,这是一件非常头疼的事。 第二:解耦,由容器去维护具体的对象 第三:托管了类的产生过程,比如我们需要在类的产生过程中做一些处理,最直接的例子就是代理,如果有容器程序可以把这部分过程交给容器, 阅读全文