05 2023 档案
摘要:每个Spring Boot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法, 在该方法中通过执行SpringApplication.run()即可启动整个Spring Boot程序。 问题:那么SpringApplication.run()方法到底是如何做到启动Spring
阅读全文
摘要:1 上图 2 九大组件是在DispatcherServlet的onRefresh方法中初始化的 3 根据断点可以看出Tomcat启动 会触发 HttpServletBean的init方法,后续会进行容器的刷新触发refresh方法,容器刷新之后会发布事件 4 FrameworkServlet实现了监
阅读全文
摘要:1 从浏览器发起请求,根据servlet原理会进入到service方法 2 根据HttpServlet实习了service方法,所以进入到HttpServlet的service方法 3 service方法根据post和get的请求方式,选择进入doGet和doPost方法 4 FrameworkSe
阅读全文
摘要:1 LockSupport是什么 LockSupport是用来创建锁和其他同步类的基本阻塞原语。 park方法可以阻塞线程,unpark方法可以唤醒线程。与object的wait和notify不同的是,不需要synchonized的限制,没有先后顺序的限制。 2 线程中断 线程不应该被其他线程中断,
阅读全文
摘要:1 并发编程三大特性 可见性 原子性 有序性 2 JMM概念 java虚拟机规范中定义了java内存模型,用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现java程序在各种平台下都能达到一致的并发效果。 jmm规范规定了java虚拟机与计算机内存是如何协同工作的: 规定了一个线程如何及何时可以看到
阅读全文
摘要:1 启动点 tomcat启动的时候会根据spi机制找到sping-web下的SpringServletContainerInitializer 2 根据servlet规范SpringServletContainerInitializer会关注实现了WebApplicationInitializer的
阅读全文
浙公网安备 33010602011771号