- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 spirngboot自动装配原理
1.每个springboot项目都有一个spring-boot-starter-parent的依赖包,里面是spring-boot-dependencies作为父工程,这个父工程已经做好大量pom依赖配置。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <v
2021-02-28 14:51:24
113
原创 设计模式学习笔记之职责链模式
1.责任链模式(Chain of Responsibility Pattern)又叫责任链模式,为请求创建一个接受者对象的链,对请求发送者和接受者进行解耦。 2.责任链模式通常是每个接收者都包含另一个接受者的引用,如果一个对象不能处理该请求,那么它会把相同的请求传给下一个对象 3.springmvc源码: SpringMVC-HandlerExecutionChain类使用到责任链模式。同时还使用到适配器模式处理请求。 HandlerExecutionChain主要负责请求拦截器的执行和...
2021-01-03 12:35:30
144
1
原创 设计模式之观察者模式学习总结
定义:对象之间多对一的关系时的设计方案, 当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 场景:订阅报刊业务的场景。 原理:Subject 具有登记注册观察者、移除观察者和通知观察者的三个核心方法。 观察者一个核心行为方法:给Subject通知观察者调用的方法。 由Subject来通知和调用注册进来的观察者的行为方法。 优点: 1.以集合的方式来管理依赖对象(Observer),三个核心方法:注册、移除和通知观察者。 2.遵守OCP原则,增加观察者时只需要增加Observer而不用修
2020-12-26 19:03:18
266
4
原创 设计模式-单例模式
使用说明: 1、单例模式保证系统中某类只有一个对象,节省系统资源,对于要频繁创建销毁的对象,单例模式可以提高系统性能。 2、获取单例应该使用方法而不是通过new方式 适用场景:需要频繁创建销毁的对象。例如:工具类对象、频繁访问数据库或文件的对象,比如数据源、session工厂。 常用的写法: /*** * 饿汉式静态常量方式 * 优点:写法简单,在类加载完成实例化,避免线程同步问题 * 缺点:类加载的时候完成实例化,但没有懒加载效果,可能从始至终都没有 * 使用过这个实例,造成内存浪费。 */ c
2020-12-22 18:05:27
112
4
原创 设计原则
1.单一职责原则 2.接口隔离原则 3.依赖倒转原则 4.里氏替换原则 5.开闭原则ocp 6.迪米特法则 7.合成复用法则 一、单一职责原则 1)一个类只做一件事,只负责一项职责。降低类的复杂度 2)通常情况下,要在类的级别上遵守单一职责原则,只有在逻辑足够简单,才可以在不用在类级别遵守,而在方法级别遵守单一职责原则。 二、接口隔离原则 1)客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。 解决问题:比如接口A有5个方法,类B和类C实现接口A并使用其中的一个方法,但是却要实
2020-12-19 19:55:04
188
5
原创 大表优化小结
大表优化 大表通常是指表数据达到一定程度,使增删查改的性能严重下滑的情况。优化思路:先从索引和sql优化入手,辅以加缓存、读写分离。接着再考虑进行分库分表,分库分表作为靠后的手段进行考虑。最后才是硬件优化。 1.索引优化 1.1 常用于查询条件的 1.2 优先选用唯一索引 1.3 使用短字段作为索引字段 1.4 字符字段尽量不做主键 1.5 尽量不用外键,程序保证 2.慢sql优化 2.1.查看执行计划 explain 2.2.如果有告警信息,查看告警信息 show warnings; 2.3.查看SQ
2020-12-01 19:51:35
209
2
原创 Synchronized和Lock对比总结
1.Synchronized是内置关键字,Lock是一个java类 2. Synchronized不能确定是否获取到锁,Lock则可以判定获取到锁 3.Synchronized自动解锁,Lock必须手动解锁 4.Synchronized可重入锁,不可中断,非公平锁;Lock 可重入锁,可判断锁是否获取,默认非公平锁(可设置为公平锁) 5.Synchronized 适合锁少量代码,Lock可以锁大量代码 ...
2020-11-10 21:57:23
131
4
原创 Eureka做微服务注册中心时报错Failed to bind properties under ‘eureka.client.service-url‘ to java.util.Map<java.l
Eureka做微服务注册中心时报错Failed to bind properties under 'eureka.client.service-url' to java.util.Map<java.lang.String,java.lang.String> 1.报错原因:service-url 是Map类型,配置的类型不符号预期类型。 2.解决方法:检查yml配置文件的格式,注意空格和缩进。 ...
2020-09-19 11:42:42
835
4
软件详细设计概要.docx
2019-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人