摘要: Spring cloud Gateway 基于使用Netty作为内嵌服务器,而Netty基于WebFlux实现,因此如果想要springdoc的 Swagger UI 显示在网关微服务中,需要用到它的WebFlux UI库。 现有三个微服务项目,分别是gateway-service、shop-ser 阅读全文
posted @ 2021-12-18 20:49 冷火凉烟 阅读(1877) 评论(2) 推荐(0)
摘要: EasyCode 是一个可以从数据库表中快速生成代码的插件,但是原有的默认配置已经不太适用了。以下配置是笔者自用的,记录下来作备忘,也供大家借鉴。 阅读全文
posted @ 2021-12-12 21:47 冷火凉烟 阅读(283) 评论(0) 推荐(0)
摘要: 由于springfox swagger在最新的springboot 2.6.x版本中频频报错无法使用,因此计划迁移至springdoc。 这里仅记录个人使用经验,更具体的信息见官方文档。 阅读全文
posted @ 2021-12-12 21:45 冷火凉烟 阅读(1124) 评论(0) 推荐(0)
摘要: 单例模式 一、概述 1. 定义 ​ 一个类只有一个实例,且该类能够自行创建这个实例。 2. 特点 单例类只有一个实例对象 单例对象必须由单例类自行创建 单例类对外提供一个访问该单例的全局访问点 3. 优点 单例模式可以保证内存里只有一个实例,减少了内存的开销 可以避免对资源的多重占用 单例模式设置全 阅读全文
posted @ 2021-08-16 22:27 冷火凉烟 阅读(78) 评论(0) 推荐(0)
摘要: 线程池 1. 背景 创建/销毁线程需要消耗系统资源,线程池可以复用已创建的线程 控制并发的数量,并发数量过多可能会导致资源大量消耗而造成崩溃 可以对线程做统一管理 2. 思路 ​ 提前创建好多个线程并放入线程池中,使用时直接获取,用完再放回池中。这样可以避免频繁的创建销毁、实现重复利用。类似生活中的 阅读全文
posted @ 2021-08-02 17:24 冷火凉烟 阅读(34) 评论(0) 推荐(0)
摘要: 一、生产者消费者问题 1. 问题 假设仓库中只能放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中的产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库。否则停止生产并等待,直到仓库中的产品被消费者取走为止 如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再 阅读全文
posted @ 2021-08-02 17:23 冷火凉烟 阅读(31) 评论(0) 推荐(0)
摘要: Lock 锁 1. 概要 从 JDK5 开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用 Lock 对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源访问的工具 锁提供了对共享资源的独占访问,每次只能有一个线程 阅读全文
posted @ 2021-08-02 17:21 冷火凉烟 阅读(92) 评论(0) 推荐(0)
摘要: 死锁 1. 原因 ​ 多个线程同时被阻塞,其中一个或全部都在等待某个资源被释放。由于线程被无限期的阻塞,因此程序无法正常终止。如图线程A占有资源1,线程B占有资源2,双方同时申请对方的资源,就会互相等待而进入死锁状态。 例: public class DeadLock { public static 阅读全文
posted @ 2021-08-02 17:20 冷火凉烟 阅读(36) 评论(0) 推荐(0)
摘要: 守护(Daemon)线程 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不必等待守护线程执行完毕 使用setDaemon()方法将线程设置为守护线程(默认为用户线程) 守护线程的默认优先级比较低 如:后台日志、监控内存、垃圾回收等等 例: public class TestDae 阅读全文
posted @ 2021-08-02 17:19 冷火凉烟 阅读(34) 评论(0) 推荐(0)
摘要: 一、并发与并行 并发:同一时间段内,多个任务都在执行。CPU可以把执行时间分成若干份,每个线程执行一段时间后记录当前工作状态 并行:单位时间内多个任务同时执行 二、线程同步 注: 锁的对象一定要是属性有增删改的对象!!! 所谓线程同步并不是使线程同时执行,而是将线程排队!!! 1. 形成条件:队列 阅读全文
posted @ 2021-08-02 17:19 冷火凉烟 阅读(43) 评论(0) 推荐(0)