Java
文章平均质量分 88
Java
搬砖界的华强北
这个作者很懒,什么都没留下…
展开
-
spring单例bean中依赖了原型bean引发的问题
众所周知,在Spring容器中,bean的默认是singleton单例的。原因:因为OrderDao只实例化了一次,那么他只有一次机会为他的依赖IndexDao去设置属性,由于OtderDao是单例的,所以没办法再为IndexDao去设置属性。转载 2022-09-20 10:06:08 · 172 阅读 · 0 评论 -
Springboot自定义注解实现参数验证
目标在controller的方法里实现自己的参数校验功能,比如我搭建了一个博客系统,现在想做一个演示的功能,用户只能操作自己的数据和信息,别人的他只能看,但是我现在有没有足够的时间去做(或者不想搞太高的复杂度)RABC,把权限传给前端让前端验证,那么简单处理就是在每个需要修改操作的接口加上验证,是否是自己的数据,每个接口写一次,是不是很烦。还有一点想说的,就是@Pointcut的用法,刚才我们写的是@annotation用于匹配当前执行方法持有指定注解的方法。............转载 2022-07-30 23:58:33 · 708 阅读 · 0 评论 -
如何提升日志性能避免IO瓶颈
1.直接落库,查询日志文件,或者分布式的话就是直接落库,用日志收集组件去收集+展示(例如:filebeat和Logstash)2.用ELK+kafka收集日志之后做展示3.可以将日志文件写入到Linux的临时文件系统 tmpfs 中,它是一种基于内存的文件系统,在临时文件系统中写日志的性能相比直接写磁盘,至少能提升100倍,并且当日志文件达到一定大小(例如20MB时),就将日志文件转移到磁盘上,并将临时文件系统中的日志文件清空,相比频繁的小数据写入,磁盘在顺序写入大文件的时候性能更高,也就降低了写入压力转载 2021-11-21 16:30:17 · 442 阅读 · 0 评论 -
常见的OOM
OOM:OutOfMemory (内存溢出)public class OutOfMemoryError extends VirtualMachineError {}OOM分类一.StackOverFlowError(线程栈空间耗尽)每一个 JVM 线程都拥有一个私有的 JVM 线程栈,用于存放当前线程的 JVM 栈帧(包括被调用函数的参数、局部变量和返回地址等)。如果某个线程的线程栈空间被耗尽,没有足够资源分配给新创建的栈帧,就会抛出 java.lang.StackOv..转载 2021-11-21 16:03:07 · 301 阅读 · 0 评论 -
Spring Bean的生命周期
四个主要阶段1.实例化 Instantiation2.属性赋值 Populate3.初始化 Initialization4.销毁 Destruction实例化和属性赋值对应构造方法和setter方法的注入,初始化和销毁是用户能自定义扩展的两个阶段源码protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final @Nullable Object[] args).转载 2021-11-14 20:07:55 · 48 阅读 · 0 评论 -
java线程池工作原理和实现原理
为什么要使用线程池?1.使用线程池可以复用池中的线程,不需要每次都创建新线程,减少创建和销毁线程的开销;2.同时,线程池具有队列缓冲策略、拒绝机制和动态管理线程个数,特定的线程池还具有定时执行、周期执行功能,比较重要的一点是线程池可实现线程环境的隔离,例如分别定义支付功能相关线程池和优惠券功能相关线程池,当其中一个运行有问题时不会影响另一个。如何构造一个线程池对象?本文内容我们只聊线程池ThreadPoolExecutor,查看它的源码会发现它继承了AbstractExecutorS.转载 2021-11-13 22:32:43 · 460 阅读 · 1 评论 -
实现WebMvcConfigurer接口来自定义拦截器
SpringBoot中可以通过实现WebMvcConfigurer接口来自定义Handler,Interceptor,ViewResolver,MessageConverterInterceptor 实现拦截器 addInterceptor:需要一个实现HandlerInterceptor接口的拦截器实例 addPathPatterns:用于设置拦截器的过滤路径规则;addPathPatterns("/**")对所有请求都拦截 excludePathPatterns:用于设置...转载 2021-11-07 15:15:03 · 2072 阅读 · 0 评论