自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 深入探讨JVM类加载与运行时数据区

深入探讨JVM类加载与运行时数据区

2025-12-26 16:57:07 978

原创 Spring第三关:AOP(二、最终代理对象的创建和执行过程)

SpringAop从创建到执行的全过程

2025-10-11 11:27:06 620

原创 Spring第三关:AOP(一、前期准备工作)

SpringAOP前期准备的源码详解

2025-09-29 00:59:16 1877

原创 从源码层面彻底搞懂Spring是如何解决循环依赖的

Spring的三级缓存是如何解决循环依赖的?

2025-09-23 19:09:52 534

原创 Spring中的第二关:属性注入(DI)

SpringDI注入的全过程

2025-09-21 23:38:12 660 1

原创 Spring中的第一关:Bean的实例化过程

SpringIOC实例化Bean的过程

2025-09-20 18:40:47 1851

原创 从源码层面彻底搞清楚FactoryBean和BeanFactory的相同和不同

BeanFactory也是一个接口,该接口定义了非常多的方法,其中getBean方法就是获取Bean的重要方法,IOC中创建Bean的过程就在这里面,同时包括了DI注入,AOP实现等等Spring关键特性。Class<?判断是否实现了FactoryBean接口。

2025-09-15 01:20:22 1847

原创 FutureTask的核心源码解析

摘要:FutureTask是Java并发编程中用于获取线程返回值的工具类,实现了RunnableFuture接口,兼具Runnable和Future特性。其核心在于状态管理(NEW、COMPLETING、NORMAL等状态流转)和CAS操作保证线程安全。通过run方法执行Callable任务,set/setException处理正常/异常结果,cancel方法支持任务中断。源码分析展示了其线程安全设计和状态转换机制,适用于需要获取异步任务执行结果的场景。

2025-09-04 00:20:42 194 1

原创 浅谈ReententReadWriteLock(一)

本文深入分析了ReentrantReadWriteLock的底层实现原理及其特性。其核心是基于AQS机制,通过32位state变量区分读写锁(高16位读锁,低16位写锁)。重点阐述了锁重入机制:写锁通过state低16位计数,读锁则采用ThreadLocal维护HoldCounter对象记录重入次数。此外,文章揭示了读写锁可能导致写锁饥饿的问题,并对比介绍了StampedLock通过乐观读解决该问题的方案。最后详细解析了同步队列的工作机制,确保实现"读读并发、读写互斥、写写互斥"的线程安

2025-09-03 13:43:02 423

原创 关于多个线程依次打印1,2,3,4,5。。。的问题,个人总结

我认为这个问题最关键的点在于:如何保证线程之间的通讯问题。只要保证这个,就相当于很多人排着队来买东西一样,有条不紊。进入正题:条件:三个线程,依次打印1,2,3,4,5.。。。90我是使用Condition实现的,使用wait()和notify()也可以。public class Test { private static Lock lock = new ReentrantLock(); private static Condition condition1 = lock.new

2021-05-13 00:14:49 389 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除