Seanforfun
Let's try one more time.
-
Design Pattern | Flyweight Pattern
享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。采用一个共享来避免大量拥有相同内容对象的开销。这种开销中最常见、直观的就是内存的损耗。享元模式以共享的方式高效的支持大量的细粒度对象。共享的对象必须是不可变的,不然一变则全变(如果有这种需求除外)。
-
Design Pattern | Factory Method 简单工厂模式
介绍了简单工厂模式。
-
Design Pattern | Facade Pattern
外观模式隐藏了系统的复杂性,并向客户端提供了一个访问系统的接口,该接口更加简单,并且易于使用。
-
Design Pattern | Decorator Pattern
装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例.通过装饰者模式对方法进行增强,通过对实例方法的调用,可以在调用之前或是之后实现增强,实现AOP。
-
Concurrency | CountDownLatch,CyclicBarrier,Semaphore
这三个类都是concurrent包的辅助类,用于帮助我们确定线程并发的安全性。
-
Concurrency | Concurrent on JMM
JVM层面的并发解析。
-
Design Pattern | Composite Pattern
组合模式定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。
-
JVM | Compile And Optimization
JVM的编译和优化。
-
Design Pattern | Command Pattern 命令模式
命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。
-
Design Pattern | Builder
Builder模式的意义在于生成复杂的实例化对象之前对对象进行设置和初始化。分离了每一个设置的步骤,让对每一个参数设定的顺序可以得到宏观调控。是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
-
Design Pattern | Bridge Pattern
桥接模式即将抽象部分与它的实现部分分离开来,使他们都可以独立变化。桥接模式将继承关系转化成关联关系,它降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量。
-
Data structure | Binary Tree 二叉树
-
Data structure | B- tree,B+ tree,B* tree
-
Design Pattern | Adapter Pattern aka Wrapper
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。
-
Design Pattern | Abstract Factory 抽象工厂
抽象工厂意图修复工厂方法的一个缺点:一个具体工厂只能创建一类产品。提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类;具体的工厂负责实现具体的产品实例。
-
Spring | AspectJ in Spring
Spring与Aspect整合实现。
-
Spring | AOP
AOP的概念与Spring的AOP实现。
-
Algorithm | 01 knapsack question DP
01 knapsack question is a very famous dynamic programming question, and it worths looking into the detail. In this article, I will start with the leetcode question [416. Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum/description/), and conclude multiple occasions of this kind of question.
-
Data structure | Segment Tree
-
Data structure | Binary Index Tree