Veni,Vidi,Vici
  • Home
  • Archives
  • Categories
  • Tags
  • Diagrams
  • Running
  • Tools
  • About
  •   
  •   
分布式锁实现----Redis

分布式锁实现----Redis

实现原理:setnx 实现逻辑: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556public class GrabRedisLockServiceImpl implements GrabService { @Autowired S
2021-11-26
分布式锁
#分布式锁
分布式锁实现----Mysql

分布式锁实现----Mysql

使用场景:项目并发很低的时候可以用 Mysql锁的实现: 通过ThreadLocal进行参数传递 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647@Service@Datapublic class MysqlLock implements Lock { @Autowi
2021-11-25
分布式锁
#分布式锁
Spring源码图解

Spring源码图解

Spring 源码图解 图片可能有点大,保存到本地,便于查看 要processon源文件,邮件wfp_chase@163.com
2021-11-20
Spring
#Spring
Spring循环依赖

Spring循环依赖

在Spring中,对象的创建 分为两个部分,一个是实例化,另一个是初始化,两个对象A、B互相引用,在对象初始化过程中会有如下的步骤: 1234567public class A { private B b;}public class B { private A a;} 上图中,会形成一个闭环,怎么解决这个问题呢? 如果想解决这个问题,那么久必须
2021-11-07
Spring
#Spring
Spring中Bean的创建过程二

Spring中Bean的创建过程二

populateBean 设置属性方法1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889// 填充属性prot
2021-10-30
Spring
#Spring
Spring中Bean的创建过程一

Spring中Bean的创建过程一

Bean在完成创建的时候会经过getBean——→ doGetBean ——→ createBean ——→ doCreateBean这一系列方法调用链来完成。 入口方法preInstantiateSingletons:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495
2021-10-22
Spring
#Spring
Spring启动流程二

Spring启动流程二

registerBeanPostProcessors:注册bean处理器,这里只是注册功能,真正调用的是getBean 123protected void registerBeanPostProcessors(ConfigurableListableBeanFactory beanFactory) { PostProcessorRegistrationDelegate.regist
2021-10-14
Spring
#Spring
Spring启动流程一

Spring启动流程一

入口:ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(“”); 123456789public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, @Nullable Appli
2021-10-09
Spring
#Spring
Object的内存布

Object的内存布

使用JavaAgent测试Object的大小 对象大小(64位机)观察虚拟机配置java -XX:+PrintCommandLineFlags -version 对象的内存布局分为两种 普通对象和数组对象普通对象 对象头:markword 8 hospot 中叫 markword 占8个字节 ClassPointer指针:-XX:+UseCompressedClassPointers
2021-09-09
Java基础
#Object
GC日志格式和参数汇总

GC日志格式和参数汇总

CMS日志分析执行命令:java -Xms20M -Xmx20M -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC com.mashibing.jvm.gc.T15_FullGC_Problem01 UseConcMarkSweepGC :这个参数就可以指定CMS Old区 12345678年轻代:[GC (Allocation Failure) [ParN
2021-09-01
Java基础
#GC
123456…15

Search

I came, I saw, I conquered.