#SourceCode

起因: 今天在做公司的新项目的时候,公司使用了UUID作为数据库的部分字段,然后ORM使用的是Hibernate,在我新起项目的时候是用的Mybatis。然后在插入UUID字段的时候直接抛出了插入...

JavaAgent简介 关于JavaAgent的简介建议参考这篇博客,本文不做过多讲解。 方法 创建一个maven项目,pom文件如下(可以添加,下面是基本骨架): <?xml vers...

一般比较多的长链接转短链接的方法是对URL计算MD5,然后对MD5取指定位数的随机值。但是这种会导致冲突,可能需要在处理冲突产生比较大的开销。 可以使用类似雪花ID的方法来产生随机数,这样可以保证随...

简介 具体参考项目地址 本文代码非最新代码,最新代码将在Github上同步。 入门 RPC简介 RPC(Remote Procedure Call)— 远程过程调用,是一个计算机通信协议。该协议允...

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

AbstractQueuedSynchronizer 注意:本文根据JDK8进行分析,后续版本的实现有一定变化。 队列同步器使用了CLH锁(基于单向链表的自旋锁,申请加锁的线程通过前驱节点的变量进行...

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

Bean的生命周期 实例化 属性赋值 初始化 销毁 //AbstractAutowireCapableBeanFactory.class protected Object doCreateBean...

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