- 1.AQS共享锁应用之Semaphore原理
- 2.Java中的守护线程
- 3.面试官 | JVM 为什么使用元空间替换了永久代?
- 4.JDK1.8 JVM运行时数据区域划分
- 5.Spring定义Bean类(四) 自动装配 spring.factories
- 6.MyBatis 分页插件 PageHelper
- 7.Spring 的缓存抽象
- 8.Thinking In Spring Boot 之 Spring Boot 如何启动—JAR 文件详解(一)
- 9.彻底透析SpringBoot jar可执行原理
- 10.springboot深入理解项目打包启动过程
- 11.Reactor系列(二)Flux Mono创建
- 12.Reactor系列(四)subscribe订阅
- 13.Reactor系列(五)map映射
- 14.Reactor系列(六)Exception异常
- 15.reactor3 flux的map与flatMap的区别
- 16.AnnotationConfigApplicationContext 原理
- 17.PathMatchingResourcePatternResolver的使用
- 18.spring中WebApplicationContext、DispatcherServlet与web容器的ServletContext关系梳理
- ServletContext 包含 DispatcherServlet WebApplicationContext
- DispatcherServlet
- 19.HandlerMapping初始化详解(超详细过程源码分析)
- 20.springMVC源码解析之HandlerMapping与HandlerAdapter
- 21.Spring MVC Converter(类型转换器)详解
- 22.ViewResolver和ResponseBody笔记
- 23.深入 ProtoBuf - 简介
- 24.一网打尽 @ExceptionHandler、HandlerExceptionResolver、@controlleradvice 三兄弟!
- 25.SpringBoot之HandlerInterceptor拦截器的使用 ——(一)
- 26.SpringBoot—-WebMvcConfigurer详解
- 27.4种分布式session解决方案
- 28.spring-boot整合spring-session,使用redis共享
- 29.spring注解之@Import注解的三种使用方式
- 30.SpringBoot之@EnableAutoConfiguration注解
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
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
19.HandlerMapping初始化详解(超详细过程源码分析)
https://blog.csdn.net/qq_38410730/article/details/79507465
dispatcherservlet 包含 handlermapping
handlermapping就是个用来处理url到controller到映射, 默认使用beannameurlhandlermapping
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
- 登录信息存在cookie中明文返回,服务器端不保存登陆状态
- 粘性会话 sticky session
- 会话复制 session replication
- 集中会话 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.htmlspring注解 包含 @import
spring 可以使用@import注解将类加载进bean容器30.SpringBoot之@EnableAutoConfiguration注解
https://blog.csdn.net/zxc123e/article/details/80222967spring boot 包含 @EnableAutoConfiguration
spring boot 使用@enableautoconfiguration 来将springboot的自动配置类加载进容器@enableautoconfiguration 关联 @import springfactoriesloader
enableautoconfiguration使用@import 引入AutoConfigurationImportSelector, 并在它里使用springfactories将meta_info/spring.factories文件中的EnableAutoConfiguration对应的所有自动配置类加载进bean容器
spring注解 包含 条件注解
@enableautoconfiguration 关联 条件注解

