自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 ArrayBlockingQueue源码分析

ArrayBlockingQueue 是一个基于数组的有界阻塞队列。使用了显式锁机制 ReentrantLock 和条件变量 Condition 实现线程安全与阻塞功能。更适用于任务队列、生产者-消费者模型等并发场景。

2025-05-13 09:34:07 585

原创 Java Queue简介

维度QueueArrayList核心功能顺序处理机制动态数组存储访问模式受限端点访问全索引访问线程安全有专门并发实现需外部同步性能特点高效入队/出队快速随机访问内存效率节点存储有额外开销连续存储空间高效使用场景任务队列/消息传递数据集存储/快速查找选择建议:95%的顺序处理场景使用Queue需要索引操作时使用ArrayList多线程环境优先选择并发Queue实现。

2025-05-09 13:02:31 713

原创 Springboot整合mybatis源码解析(二)

项目中整合了mybaitsplus的starter,该包下有一个MybatisPlusAutoConfiguration,是一个自动配置类,有一个创建SqlSessionFactory的方法,截图如下:首先创建了一个MybatisSqlSessionFactoryBean对象,设置dataSource对象到MybatisSqlSessionFactoryBean对象上,获取MybatisConfiguration对象,该对象继承了mybatis的Configuration,接着调用MybatisSql

2021-01-28 18:14:56 362

原创 springboot整合mybatis源码解析(一)

我们项目中配置Mapper时候可以写个配置类,配置类用@Configuration修饰,然后写个@MapperScan扫描指定包,截图如下:MapperScan注解类中引入了@Import(MapperScannerRegistrar.class),MapperScannerRegistrar实现了ImportBeanDefinitionRegistrar,根据springboot原理会调用registerBeanDefinitions方法,会解析MapperScan上的字符串,例如@MapperSc

2021-01-06 20:52:34 227 1

原创 SpringBoot + Shiro权限源码解析

根据spring aop原理,实例化spring容器对象的时候会调用到AbstractAutoProxyCreator.wrapIfNecessary()方法,该类是spring aop包下的类,不太了解spring aop的童鞋先了解一下,该类会为符合某个条件的对象生成代理对象进而进行拦截操作执行一些业务逻辑,该方法截图如下:该方法中调用了两个重要的方法,一个是getAdvicesAndAdvisorsForBean()方法一个是createProxy()方法,getAdvicesAndAdviso

2020-12-16 16:47:28 303

原创 SpringBoot + Shiro登出源码解析

项目里面配置shiro退出的url为filterChainDefinitionMap.put("/logout",“logout”),最终会调用到org.apache.shiro.subject.support.DelegatingSubject的logout方法,截图如下:接着调用了org.apache.shiro.web.mgt.DefaultWebSecurityManager的logout方法,方法截图如下:首先调用了beforeLogout方法,该方法判断项目里面是否配置了记住我的功能

2020-12-15 10:34:23 332

原创 SpringBoot + Shiro登录源码解析

项目登录的Controller截图如下:还是从当前线程取出Subject对象,在启动时候已经放置了Subject对象,所以此处Subject对象不为空,新建一个UsernamePasswordToken对象,把前端用户名、密码传递到其构造函数中,该对象实现了RememberMeAuthenticationToken接口,有个方法isRememberMe(),表示用户是否希望记住当前登录用户,此处我们设置为true,接着调用Subject的isAuthenticated方法判断用户是否认证了,如果没有

2020-10-28 13:45:43 275

原创 Springboot整合Shiro之请求源码分析

上文已说到Springboot启动时候往serlvet容器中注入SpringShiroFilter过滤器,该过滤器实现了Filter接口,当有请求到来时会进行拦截操作,根据链式调用最终会调用到父类AbstractShiroFilter的doFilterInternal

2020-10-27 17:11:19 173

原创 Springboot整合shiro之过滤器注册源码分析

Springboot原理不了解的可以先了解一下它的运行原理,通常我们都是在springboot项目下配置一个shiro配置类本项目中配置的类是ShiroConfig,截图如下:ShiroFilterFactoryBean是shiro包下带的一个类它实现了FactoryBean接口,根据spring原理我们可以知道在实例化ShiroFilterFactoryBean对象时会调用getObject()方法,截图如下:该类中有个成员变量AbstractShiroFilter,该类最终实现了javax.se

2020-10-23 10:46:44 476 3

移动客户端文档

移动客户端使用的方法,包括如何具体的使用移动客户端

2014-09-09

空空如也

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

TA关注的人

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