摘要: Java 中的 List 是非常常用的数据类型。List 是有序的 Collection,Java List 一共有三个实现类,分别是:ArrayList、Vector、LinkedList 本文分析基于 JDK8 ArrayList ArrayList 继承自 AbstractList,实现了 L 阅读全文
posted @ 2020-09-23 13:17 低吟不作语 阅读(871) 评论(0) 推荐(5) 编辑
摘要: 缓存 1. 什么是缓存? 缓存就是数据交换的缓冲区,用于临时存储数据(使用频繁的数据)。当用户请求数据时,首先在缓存中寻找,如果找到了则直接返回。如果找不到,则去数据库中查找 缓存的本质就是用空间换时间,牺牲数据的实时性,从而减轻数据库压力,尽可能提高吞吐量,有效提升响应速度 2. 缓存的分类 缓存 阅读全文
posted @ 2020-09-22 18:25 低吟不作语 阅读(704) 评论(0) 推荐(1) 编辑
摘要: 树的概述 树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。形同下图。 树有如下基本概念: 根结点 根结点是树的一个组成部分,也叫树根。每一颗树都有且仅有一个根结点。它是同一棵树中除本身外所有结点的祖先,没有父结点。按上图的树结构来 阅读全文
posted @ 2020-08-19 18:55 低吟不作语 阅读(1010) 评论(0) 推荐(0) 编辑
摘要: 设计模式的定义 模式一词起源于建筑业,描述了解决问题的核心方法。通过这种方式,可以多次重用那些已有的解决方案,无须重复相同的工作。 模式可以应用于不同的领域,软件模式是将模式的一般概念应用于软件开发领域,可以被认为是对软件开发中某一特定问题的解法的某种统一表示。软件模式并非仅限于设计模式,还包括架构 阅读全文
posted @ 2020-07-17 00:43 低吟不作语 阅读(640) 评论(0) 推荐(1) 编辑
摘要: 访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素具有不同的类型,且不同的访问者可以对其进行不同的访问操作 模式动机 对于系统中某些对象,它们存储在同一个集合中,且具有不同的类型。对于该集合中的对象,可以接受一类称为访问者的对象来访问,不同的访问者其 阅读全文
posted @ 2020-06-18 15:36 低吟不作语 阅读(451) 评论(0) 推荐(1) 编辑
摘要: 模板方法是结构最简单的行为型设计模式,在抽象类中定义了一个称为模板方法的方法,在这个方法中定义其他基本方法的执行步骤,而基本方法的实现可以放在抽象类,也可以放在其子类 模式动机 现实生活中很多事情的完成过程都包含几个基本步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单几个步骤,到底吃什么 阅读全文
posted @ 2020-06-17 15:12 低吟不作语 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 策略模式用于算法的自由切换和扩展,实现了算法定义和算法分离的使用 模式动机 要完成一项任务,可以有多种不同的方式,例如人们外出旅游时可以选择多种不同的出行方式,如自行车、坐汽车、坐高铁或乘飞机等,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该任务。 在实际的软件开发中, 阅读全文
posted @ 2020-06-12 08:59 低吟不作语 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题 模式动机 很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态。一个对象可以拥有多个状态,这些状态可以相互转换,当对象状态不同时,其行为也有所差异。 假设一个人就是对象,人根据心情不同会有很多状态,比如开心 阅读全文
posted @ 2020-06-06 10:33 低吟不作语 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 观察者模式是一种经常使用的设计模式,在软件系统中对象并不是孤立存在的,一个对象行为的改变可能会导致其他与之存在依赖关系的对象行为发生改变,观察者模式用于描述对象之间的依赖关系。 模式动机 很多情况下,对象不是孤立存在的,想象这么一个场景:你和女朋友去旅行,晚上回到宾馆,女朋友穿着厚厚的大衣,从外表看 阅读全文
posted @ 2020-06-01 17:07 低吟不作语 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式提供了一种对象状态的撤销实现机制,当系统中某一对象需要恢复到某一历史状态时可以使用备忘录模式来进行设计 模式动机 人人都有后悔的时候,在软件使用过程中难免会出现一些误操作,如不小心删除了某些文字或图片,数据填入错误等,对于这些误操作,需要提供一种后悔药机制,让系统可以回到误操作前的状态,这 阅读全文
posted @ 2020-05-28 11:39 低吟不作语 阅读(537) 评论(0) 推荐(0) 编辑