观察者模式|设计模式|设计模式使用场景
一个对象的属性发生改变时,需要通知到依赖它的对象并自动更新
实现原理
针对使用场景,如何用代码去实现这种效果,只要理解了观察者模式的基本原理,代码一目了然
首先明确有两个对象: 观察者,被观察者,我更喜欢理解为监视器和目标
目标对象里维护一个注册列表,里面记录了注册过的监视器,对外提供注 ...
阅读更多
Spring ContextRefreshedEvent事件|Spring|Spring-Spring 扩展123遇到的单词infrastructure : 基础设施arbitrary : 任何的,所有的
介绍
本文主要在观察者模式的基础上研究Spring中的事件机制
ApplicationListener监听以下4个事件:ContextStartedEvent,ContextRefreshedEvent ...
阅读更多
Spring InitializingBean接口|Spring|Spring-Spring 扩展源文档
InitializingBean接口的doc文档解释如下,大意为:
实现这个接口的bean,可以在BeanFactory设置完所有的属性之后生效,例如,执行自定义的bean初始化,或者只是为了检查所有的属性被设置了
另一个选择是指定init-method,例如在XML中
12345678/* ...
阅读更多
Spring Boot 官方文档阅读|Spring Boot|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 ...
阅读更多