0%

Flyweight Pattern 享元模式作为结构型的设计模式,其通过共享来解决大量细粒度对象的复用问题。Flyweight一词在拳击比赛中指的是特轻量级,故这里采用意译”享元”来更好的表达该设计模式的作用

阅读全文 »

有时候一个类,可能会拥有多个变化维度。比如奶茶可以选择容量大小、口味风味。容易想到的实现方案是通过继承实现各种组合,但是这样会很容易造成类爆炸。那么有没有什么良策呢?答案就是 Bridge Pattern 桥接模式,其是结构性模式的一种,本文就让我们来了解下该模式

阅读全文 »

社会心理学只是常识吗?常识存在的一个问题是,我们在知道事实真相之后才想起它的存在。后见之明总比先见之明来得容易……实验表明,当得知实验结果时,人们便突然觉得实验结果不是那么的令人惊讶

阅读全文 »

之前我们介绍了Adapter Pattern适配器模式,通过适配器实现两个不兼容类的配合工作。而这里,我们将会介绍另外一种结构型的设计模式——Facade Pattern外观模式。有些同志会将这二者(适配器模式、外观模式)混淆,但其二者目的有着明显的区别,前者是通过包装来改变接口以达到适配的目的;后者则是通过包装简化调用、降低耦合度

阅读全文 »

前面我们介绍了一种通过包装拓展功能的方法——装饰器模式,这里我们来了解另外一种使用包装思想的设计模式——Adapter Pattern适配器模式,其依然是结构型模式的一种。一般情况下,两个类如果接口不兼容是无法一起工作的。而如果通过Adapter Pattern适配器模式就可以很好的解决这个问题了

阅读全文 »

继承是拓展类功能最常见的手段,但是其缺点也很明显,其耦合程度较高。这里我们介绍一种新的方法来拓展类的功能——Decorator Pattern装饰器模式,其是结构性模式的一种,通过包装的方式实现动态增强、拓展已有对象的功能

阅读全文 »

之前我们介绍了Factory Pattern工厂模式,其较适合于只有一种类型产品的场景。但有些时候一家工厂可能会生产多种类型的产品。比如家电厂无论海尔还是美的,都会生产冰箱、洗衣机、空调等多种不同类型的产品。这个时候,就可以应用我们这里所说的Abstract Factory Pattern抽象工厂模式

阅读全文 »

很多时候我们只是期望获取对象实例即可,并不关心实例构造过程(例如相关Field的具体如何设置)。这个时候就可以将通过工厂模式来解决这个问题,其同样也是一种创建型模式。将实例的具体构造过程进行封装以对外屏蔽,就像现实世界中我们只需从工厂直接拿取产品即可,而无需care产品在工厂里的具体制造过程

阅读全文 »

Maximum Likelihood Estimation(MLE) 极大似然估计,又被称作最大似然估计。其可在给定概率分布模型的条件下用于模型参数的估计,即所谓的参数估计

阅读全文 »

对于synchronized锁机制而言,准确来说其应该属于JVM的范畴。这里基于行文的连贯性、完整性考虑,故将该部分内容在JMM系列中一并进行介绍

阅读全文 »

多线程并发的核心问题在于如何控制同步,幸运的是Java语言原生地提供了一个同步手段——synchronized关键字。本文这里就来简单谈一谈synchronized关键字

阅读全文 »

很多编程语言中都有 volatile 关键字,但是不同语言下其语义并不完全相同。本文将就其在Java中的语义作具体说明、解释

阅读全文 »