Java静态代理、动态代理

1、代理模式代理模式是通过创建代理类(Proxy)的方式来访问服务,代理类通常会有一个委托类对象,代理类不会自己实现真正服务,而是通过委托类对象的相关方法来提供服务。可以用来实现被代理类的功能增强,而不入侵被代理类的源代码。2、静态代理对目标对象的每个方法的增强都是手动完成的下面通过代码展示!定义发

JMM内存模型

JMM内存模型由一个主内存和多个工作内存组成所有的变量都是存储在主内存中,但是每条线程都有自己的工作内存,线程对变量的操作都必须再工作内存中进行,而不能直接操作主内存的数据

OOM 常见原因及解决方案

一、造成原因1、内存泄漏由于长期保持某些资源的引用,垃圾回收器无法回收它,从而使该资源不能够及时释放,也称为内存泄露。因而尽量不要将所有引用都使用为强引用,可以在合适的地方使用弱引用和软引用。2、超大对象保存多个耗用内存过大或当加载单个超大的对象时,该对象的大小超过了当前剩余的可用内存空间。比如查询

SpringBoot-自定义Starter

https://blog.csdn.net/cstp321/article/details/124755699

拦截器和过滤器的区别

1、实现原理不同 2、使用范围不同 3、触发时机不同 4、拦截的请求不同 5、注入bean情况不同 6、控制执行顺序不同

Spring IOC、AOP

1、准备ApplicationContext上下文环境,用BeanFactory工厂实现;2、扫描XML文件和注解,生成Bean的定义,也就是BeanDefinition对象,Bean的名字、依赖关系、属性等信息;3、基于BeanDefinition生成Bean,先实例化,然后依赖注入;4、将生成的

Java线程池详解

使用线程池的优势:①提高效率,创建好一定数量的线程放在线程池中,需要就取出来,比直接创建线程对象要快;②减少创建和销毁线程的次数,线程可以被重复利用;③提升系统响应速度,假如创建线程用的时间为T1,执行任务用的时间为T2,销毁线程用的时间为T3,那么使用线程池就免去了T1和T3的时间;创建线程池的方

线程在操作系统中和Java中的状态

操作系统新建就绪运行阻塞死亡JavaNew 新建:程刚被创建,start方法之前的状态Runnable 运行:得到时间片运行中状态(Ready就绪,未得到时间片就绪状态)Blocked 阻塞:Waiting 等待:Time_Waiting 超时等待:Terminated 终止:

Redis分布式锁

原生redis实现分布式锁:SETNX key valuesetnx lock:001 123456SET key value [EX seconds] [PX milliseconds] [NX|XX]// EX second :设置键的过期时间为 second 秒。 SET key value

Spring、Spring MVC、Spring Boot注解大合集

spring:@EnableTransactionManagement //开启注解式事务驱动@Transactional // 声明注解@Order // Bean加载排序@EnableAspectJAutoProxy // 使切面注解生效
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×