- 博客(40)
- 收藏
- 关注
原创 SpringBoot项目统计接口耗时功能
ServletRequestHandledEvent 是 Spring 框架提供的一个事件,它在每次 HTTP 请求处理完成后被发布。这个事件包含了请求的详细信息,如请求 URL、处理时间等。通过监听这个事件,我们可以获取到请求的处理时间,从而记录接口的调用耗时。在开发 Web 应用时,监控接口的性能是非常重要的。通过记录接口的调用耗时,我们可以及时发现性能瓶颈,优化系统性能。为了实现接口调用耗时的记录,我们需要创建一个事件监听器来处理 ServletRequestHandledEvent 事件。
2024-12-30 14:20:06
314
原创 SpringBoot启动流程
(2)从spring.factories配置文件中,加载默认的ApplicationContextInitializer和ApplicationListener。(3)为容器设置Environment、BeanFactoryPostProcessor后置处理器,加载主类对应的Definition。(1)确认web应用类型,一般情况下是Servlet类型,将来会自动启动一个tomcat。(2)实例化容器,仅创建ApplicationContext对象。(4)刷新容器,创建真正的Bean实例。
2024-11-20 21:20:44
153
原创 类的生命周期
(1)类加载器,根据类的全限定名,通过不同渠道,以二进制流的方式 获取字节码信息(2)类加载器加载完类之后,java虚拟机会将保存到内存的中,生成一个InstanceKlass对象,保存(3)在中生成一份与方法区中数据类似的java.lang.Class对象。作用:java代码中获取类的信息。
2024-11-19 13:54:07
146
原创 双亲委派机制
当一个类加载器收到类加载请求时,首先它自己不会尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,直到传递给最顶层的启动类加载器(BootStrap ClassLoader),只有父类加载器无法完成该类加载请求时,子类加载器才会尝试自己去加载。好处:1. 避免类的重复加载2. 安全,避免核心类库被修改。
2024-11-18 17:30:01
345
原创 AQS相关实现细节
AQS设计的初衷:为其他同步组件提供基础,并不希望其他组件直接创建对象的方式使用它,所以它定义为一个抽象类。为什么抽象类中没有一个抽象方法?
2024-11-10 21:58:18
351
原创 ThreadLocal
ThreadLocal的Entry是一个弱引用,也就是key(ThreadLocal)是一个弱引用,目的就是为了将ThreadLocal的生命周期与当前线程的生命周期解绑。Entry的key是ThreadLocal类型,value是Object类型。ThreadLocal中包含ThreadLocalMap静态内部类。ThreadLocalMap包含Entry静态内部类。Thread中包含属性ThreadLocalMap。
2024-11-06 17:31:33
191
原创 SpringBoot整合WebService 【客户端、服务端】
在线的wsdl:http://127.0.0.1:9090/xx/user?
2024-04-03 07:36:27
1424
2
原创 Docker安装ik分词器
设置集群名称:监听的地址,可以外网访问:内存大小:非集群模式:挂载逻辑卷,绑定es的数据目录:挂载逻辑卷,绑定es的日志目录:挂载逻辑卷,绑定es的插件目录:授予逻辑卷访问权:加入一个名为es-net的网络中:端口映射配置。
2024-04-02 23:37:49
737
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人