观察者模式
使用场景 一个对象的属性发生改变时,需要通知到依赖它的对象并自动更新 实现原理 针对使用场景,如何用代码去实现这种效果,只要理解了观察者模式的基本原理,代码一目了然 首先明确有两个对象: 观察者,被观察者,我更喜欢理解为监视器和目标 目标对象里维护一个注册列表,里面记录了注册过的监视器,对外提供注 ...
阅读更多
Spring ContextRefreshedEvent事件
123遇到的单词infrastructure : 基础设施arbitrary : 任何的,所有的 介绍 本文主要在观察者模式的基础上研究Spring中的事件机制 ApplicationListener监听以下4个事件:ContextStartedEvent,ContextRefreshedEvent ...
阅读更多
Spring InitializingBean接口
源文档 InitializingBean接口的doc文档解释如下,大意为: 实现这个接口的bean,可以在BeanFactory设置完所有的属性之后生效,例如,执行自定义的bean初始化,或者只是为了检查所有的属性被设置了 另一个选择是指定init-method,例如在XML中 12345678/* ...
阅读更多
Spring Boot 官方文档阅读
Spring Boot 版本 2.0.3.RELEASE 文档地址:https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/html/ 遇到的英文单词 typical: 典型的 transitively: 可传递地 Sever ...
阅读更多
栈之链栈
链栈 链栈只是单链表的一个简单应用,只要理解单链表的头插法,链栈的出栈入栈很好理解。 代码实现 linkstack.h如下: 123456789#include <stdio.h>#include <malloc.h>#include <stddef.h>type ...
阅读更多
栈之顺序栈
栈 栈也是线性表的一种,它描述了一种后入先出的操作,可以用顺序存储结构和链式存储结构实现 顺序栈的定义由两部分组成: 代码实现 1234typedef struct{ ElemType data[MAX_SIZE]; //存储数据的数组 int top; //栈顶指针,它一开始指向-1&# ...
阅读更多
线性表之双链表
双链表概述 双链表也是线性表的一种,它的全称是:线性双向链接表,它有以下特点: 在每个节点中除包含有数值域外,设置有两个指针域,分别用以指向其前驱节点和后继节点。 既可以依次向后访问每一个节点,也可以依次向前访问每一个节点。 代码实现 dlinklist.h如下: 12345678910#incl ...
阅读更多
线性表之单链表
单链表概述 一张图简单解释下单链表的结果,对头节点,头指针,首节点混肴的同学可以再看看 以下是单链表的头文件和相关操作,这门课很抽象,我个人认为只在脑海中去理解很难做到,因为指针指来指去是个人都会晕,建议大家用笔在纸上画出来,更容易理解 比如单链表的尾插法, 在纸上一画瞬间理解了 代码实现 lin ...
阅读更多
线性表之顺序表
作为一个计科大学生,没有学好数据结构一直是我的遗憾,博主主攻java web方向,为了不当一个低端码农,决心静下心来学习数据结构,但是和我当初自学java一样,都存在入门难的问题,严蔚敏的数据结构一直是我的噩梦,概念多且抽象,我希望通过敲代码这种实战的方式学习数据结构,也就放弃了课本。 后来在CS ...
阅读更多