设计模式:享元模式(Flyweight)

享元模式 尝试复用同类或相似的对象,以共享方式高效地支持大量的细粒度对象,减少面向对象的系统设计中可能创建大量类或对象,以减少内存占用和提高性能。

享元模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。

面向对象设计可以很好地解决一些灵活性或可扩展性问题,但在大多数情况下需要在系统中增加类和对象的个数。当对象数量过多时,会占用较大内存,甚至导致内存溢出,运行代价过高,带来性能下降等问题。

阅读更多

Java基础:JDK8 Stream 的方法应用

JDK 8 的新特性中包含了一个新的 Stream API,可以写出高效、干净、简洁的代码。

Stream 操作将要处理的集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理, 比如筛选, 排序,归集等。

Stream 不是数据结构,并不保存数据,它的主要目的在于计算。

Lambda 和 Stream 存在的最大最大缺点是不好调试。不过 IDEA 2019 已集成了 Stream 的调试插件 Java Stream Debugger。

阅读更多
统一响应Json对象多了个success属性

统一响应Json对象多了个success属性

新项目,创建了一个统一响应的对象,有一个 isSuccess()的方法判断是否成功,然后发现响应结果中多了个 success属性。

然后在 Controller 层把要响应的数据直接 JSON 序列化输出,发出确实多了 success属性,可以定位是 JSON 序列化出了问题。

阅读更多
Intellij IDEA常用设置,快捷键,插件,注释模板配置

业务实践系列(10):【转】分布式场景下的OMS系统设计

编辑导语:OMS即订单管理中心,可以看作是电商系统的核心,其所需要具备的功能包括汇集数据、分发、跟踪汇总等等。那么,如何依据实际业务场景、搭建一个可支撑的、稳固强大的OMS系统?本文作者针对分布式场景下的OMS系统设计做了总结,一起来看一下。

阅读更多

MySQL优化(6):SELECT 之 索引合并优化

索引合并访问方法检索具有多个范围扫描的行并将它们的结果合并为一个。

此访问方法仅合并来自单个表的索引扫描,而不是跨多个表的扫描。 合并可以产生其底层扫描的联合、交集或交集。

阅读更多