1.AQS共享锁应用之Semaphore原理

https://www.cnblogs.com/doit8791/p/9163634.html

Semaphore 关联 AQS

semaphore内部类sync继承自AQS, 子类fairsync和unfairesync 默认为非公平锁

2.Java中的守护线程

https://www.cnblogs.com/yanggb/p/11702843.html

线程 包含 守护线程

java中的可以为thread设置deamon为true为守护线程,
一般业务操作不会创建守护线程,如web容器中会创建一个调度线程(守护线程)来调度请求的分发
—————————————————-

3.面试官 | JVM 为什么使用元空间替换了永久代?

https://zhuanlan.zhihu.com/p/111809384

方法区 关联 永生代 metaspace

4.JDK1.8 JVM运行时数据区域划分

https://blog.csdn.net/bruce128/article/details/79357870

运行时数据区域 包含 本地内存 JVM虚拟机数据区

JVM虚拟机数据区 包含 gc堆 程序计数器 本地方法堆栈 java虚拟机栈

本地内存 包含 直接内存 metaspace

gc堆包含 新生代 老年代 永生代

方法区 关联 永生代 metaspace

5.Spring定义Bean类(四) 自动装配 spring.factories

https://blog.csdn.net/w13485673086/article/details/104042982

spring 包含 “spring spi” SpringFactoriesLoader

SpringFactoriesLoader中类似spi 读取spring.factories中的内容, 将org.springframework.boot.autoconfigure.EnableAutoConfiguration对应的键值对加载进bean容器中

6.MyBatis 分页插件 PageHelper

https://pagehelper.github.io

mybatis 关联 pagehelper

不解释,优秀的分页插件

7.Spring 的缓存抽象

https://www.cnblogs.com/niugang0920/p/12186508.html

spring 包含 缓存抽象

提供一致性的缓存解决方案,而内部可以使用 concurrenthashmap或redis等,
@Cacheable @CachePut @CacheEvict @Caching


8.Thinking In Spring Boot 之 Spring Boot 如何启动—JAR 文件详解(一)

https://blog.csdn.net/qq_38423105/article/details/89432694

spring boot 关联 manifest.mf

springboot 项目能够用 java -jar 启动的原因是 使用了spring-boot-maven-plugin打包出来的jar包中的manifest.mf文件中的 main-class为org.springframework.boot.loader.JarLauncher, 并读取manifest中定义的spring-boot的相关配置来启动 DemoApplication.java(通过反射), manifest文件中还包含了

9.彻底透析SpringBoot jar可执行原理

https://www.cnblogs.com/xxzhuang/p/11194559.html

spring boot 关联 manifest.mf 类加载器

spring boot 在启动 start-class 之前会将当前的类加载器设置为 LaunchedURLClassLoader,(为了将 应用程序与三方jar包分开,防止互相污染)

10.springboot深入理解项目打包启动过程

https://www.cnblogs.com/baroque/p/12990138.html

spring boot 关联 manifest.mf


11.Reactor系列(二)Flux Mono创建

https://www.bilibili.com/video/BV1MJ41117bC/?spm_id_from=333.788.videocard.0

reactor 包含 flux mono

flux可以保存[0,n]个对象
mono可以保存[0,1]个对象

12.Reactor系列(四)subscribe订阅

https://www.bilibili.com/video/BV1UJ411C7d5/?spm_id_from=333.788.videocard.0

reactor 关联 stream

reactor 使用推的模式 jdkstream使用的是拉的模式

reactor 包含 subscribe

subscribe(订阅的数据做的事情, 处理错误的机制, 订阅完后做的事情, 背压)

13.Reactor系列(五)map映射

https://www.bilibili.com/video/BV14J411r7We/?spm_id_from=333.788.videocard.1

flux 包含 map

14.Reactor系列(六)Exception异常

https://www.bilibili.com/video/BV1LJ41167uP/?spm_id_from=333.788.videocard.11

reactor 包含 publish

publish 包含 异常处理

异常处理包含 onErrorContinue onErrorResume

15.reactor3 flux的map与flatMap的区别

https://segmentfault.com/a/1190000013229461

flux 包含 flatMap

flatMap 将元素 转换成mono或者flux,这样操作的时候会将每个元素都

16.AnnotationConfigApplicationContext 原理

https://blog.csdn.net/u010900754/article/details/99706436

applicationcontext 包含 annotationConfigApplicationContext classpathxmlapplicationcontext

spring 通过这两个容器获得对应xml的bean和注解的bea

17.PathMatchingResourcePatternResolver的使用

https://blog.csdn.net/yue2008/article/details/84793362

applicationcontext 关联 PathMatchingResourcePatternResolver

spring用这个玩意去获取文件系统或类路径下的资源(扫描包下所有类)

18.spring中WebApplicationContext、DispatcherServlet与web容器的ServletContext关系梳理

https://www.cnblogs.com/rancho-blog/p/7011176.html

ServletContext 包含 DispatcherServlet WebApplicationContext

serverlet 是tomcat启动时创建的主容器
webapplicationcontext 是web的IOC容器,在 servletcontext之下,
dispatcherservlet webapplicationcontext初始化后创建servlet,可以有多个,默认都用dispatcherservlet

DispatcherServlet

image.png

19.HandlerMapping初始化详解(超详细过程源码分析)

https://blog.csdn.net/qq_38410730/article/details/79507465

dispatcherservlet 包含 handlermapping

handlermapping就是个用来处理url到controller到映射, 默认使用beannameurlhandlermapping
image.png

20.springMVC源码解析之HandlerMapping与HandlerAdapter

https://blog.csdn.net/yutao_Struggle/article/details/80662689

handlermapping 包含 handler handleradapter handlermethod

handlermapping(以前用的啥AbstractUrlHandlerMapping, AbstractHandlerMethodMapping)遍历url获得handler(使用handlerapater(适配器模式)), handler可能是handlermethod(AbstractUrlHandlerMapping, 封装了要执行的method的一个bean,用反射执行), 也可能是controller类等等(AbstractHandlerMethodMapping, 没有见过,一般就直接认为是handlermethod).
spring3.1后增强了 requestmappinghandlermapping(继承自AbstractHandlerMethodMapping), 可以直接检查类级别和方法级别获取handlermethod

21.Spring MVC Converter(类型转换器)详解

http://c.biancheng.net/view/4415.html

spring mvc 包含 Converter

没啥可说的,就是把 把A类型转化成B类型, 如 string转成 pojo

22.ViewResolver和ResponseBody笔记

https://blog.csdn.net/weixin_30599769/article/details/98130071

spring mvc 包含 HttpResponseBody

HttpResponseBody 包含 ViewResolver ResponseBody

viewResolver解析成视图 responsebody解析成json/字符串

23.深入 ProtoBuf - 简介

https://www.jianshu.com/p/a24c88c0526a

ProtoBuf 关联 json

Google 的 ProtoBuf,效率、兼容性等方面非常出色

24.一网打尽 @ExceptionHandler、HandlerExceptionResolver、@controlleradvice 三兄弟!

https://www.xttblog.com/?p=3586

dispatcherservlet 包含 handlerexceptionresolver

handlerexceptionresolver 包含 @ExceptionHandler @controlleradvice

@exceptionhandler在对象的方法是那个 @controlleradvice全局异常捕获

25.SpringBoot之HandlerInterceptor拦截器的使用 ——(一)

https://blog.csdn.net/zhibo_lv/article/details/81699360

handler 关联 handlerInterceptor

handler拦截器, 模版模式, 可在handler执行前后处理业务请求,有preHandle postHandle afterCompletion

26.SpringBoot—-WebMvcConfigurer详解

WebMvcConfigurer 包含 handlerInterceptor

使用WebMvcConfigurer 可以添加 拦截器处理业务

27.4种分布式session解决方案

https://blog.csdn.net/qq_35620501/article/details/95047642

cookie 关联 session

客户端向同域名放松请求是会带上上一次请求获得的JSESSIONID, 服务器端查询若发现没有此JSESSIONID,就会生成一个新的返回客户端

session 关联 分布式session

  1. 登录信息存在cookie中明文返回,服务器端不保存登陆状态
  2. 粘性会话 sticky session
  3. 会话复制 session replication
  4. 集中会话 centrailzed session

    28.spring-boot整合spring-session,使用redis共享

    https://www.jianshu.com/p/cdf327a6a5a4

    分布式session 关联 ‘Spring Session’

    29.spring注解之@Import注解的三种使用方式

    https://www.cnblogs.com/zhoading/p/12194960.html

    spring注解 包含 @import

    spring 可以使用@import注解将类加载进bean容器

    30.SpringBoot之@EnableAutoConfiguration注解

    https://blog.csdn.net/zxc123e/article/details/80222967

    spring boot 包含 @EnableAutoConfiguration

    spring boot 使用@enableautoconfiguration 来将springboot的自动配置类加载进容器

    @enableautoconfiguration 关联 @import springfactoriesloader

    enableautoconfiguration使用@import 引入AutoConfigurationImportSelector, 并在它里使用springfactories将meta_info/spring.factories文件中的EnableAutoConfiguration对应的所有自动配置类加载进bean容器

    spring注解 包含 条件注解

    @enableautoconfiguration 关联 条件注解

    image.png