#Spring

寻找源码 首先我们从@Transactional注解出发。 查看引用,可以看到有个名叫SpringTransactionAnnotationParser的类比较可疑,根据名字理解,作用就是用...

以前一直听八股文说Spring的AOP是基于动态代理实现的。所以这里分析一下SpringAOP的源码。 注:本文基于SB 2.4.3版本进行分析,其他版本可能代码会有所出入。同时,由于JDK动态代理...

在Java中,我们经常会使用AOP来记录日志,这也是AOP一个比较经典的使用场景。但是问题是,如果我们需要支持动态的记录日志(比如SpEl)来记录日志,这样就需要对切面进行改造了。 在美团技术团队的...

在使用Graalvm打包一个项目,在运行的时候出现了如下的报错: Exception in thread "main" java.lang.ExceptionInInitial...

在Java中,我们常常使用-Xms、-Xmn、-Xmx来指定运行时的堆内存的占用。然而当我们通过top命令去查看当前程序内存占用情况的时候,经常会发现实际占用的内存远远的大于我们指定的内存。 ...

项目中经常使用的验证码。 通常我们校验验证码的时候会结合缓存(Redis或本地)来实现,为一个验证码唯一绑定一个UUID然后将验证码和UUID传送给前端,然后将UUID作为key,验证码的值作为va...

在实际开发中,我们可能会需要使用到注解来给我们的方法注入一些参数值,比如从token中获取某些参数然后注入到controller中的方法中。但是由于SpringAOP无法支持对参数上的注解进行拦截所...

图解 解决方式 Spring使用了三级缓存 + 提前暴露对象的方式来解决循环依赖的问题。 相关的重要属性:位于DefaultSingletonBeanRegistry类中 Spring内部维护...

待解决问题 没有解决无效数据清理的问题,会出现OOM(有时间更新),推荐使用Redis版本 解决方案: 将缓存设置成LRU(可以直接把ConcurrentSkipListMap改为Spring提...

��