套路 源码mybatis
Redis源码之ZipList压缩列表
List(版本3.2之前)、Hash 和 Sorted Set 这三种数据类型,都可以使用压缩列表(ziplist)来保存数据。 新版本Redis的quickList底层也是采用zipList支持,Redis版本更新频繁,本文不保证时效性。 一、ziplist结构 ziplist 是一个特殊双向链表 ......
Mybatis-plus
工具 根据 SQL 语句 来生成 类文件的 在线生成器 http://java.bejson.com/generator/ 资料 已解决的问题列表 https://gitee.com/baomidou/mybatis-plus/issues?assignee_id=&author_id=&branc ......
Redis源码之Hash表实现
通常我们如果要设计一个 Hash 表,那么我们需要考虑这几个问题: 有没有并发操作 Hash冲突如何解决 以什么样的方式扩容 对 Redis 来说,首先它是单线程的工作模式,所以不需要考虑并发问题。 想实现一个性能优异的 Hash 表,就要重点解决哈希冲突和 rehash 开销这两个问题。 一、哈希 ......
Springboot集成MyBatis进行开发
引入相关的依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--引⼊springb ......
MyBatis中XXMapper示例记录
XXMapper.xml的结构示例如下,包括<resultMap>、<id>、<result>、<select>、<update>、<foreach>、<if>标签的使用: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC ......
轻量级人工在线客服系统源码-开源版-修改客服账号问题
早期的开源版客服源码,最近又重新更新了下功能,修复了一些BUG 访客聊天的时候,会在聊天链接里指定沟通的客服账号,这个账号在后台可以修改。 当修改账号以后,访客表和消息表并没有跟着一起修改,会出现修改了账号名称后,旧的访客以及消息数据就查询不到了 现在,修复这个问题,修改账号以后,同步修改访客表和消 ......
Spring源码系列:初探底层,手写Spring
在学习 Spring 框架源码时,记住一句话:源码并不难,只需要给你各种业务场景或者项目经理,你也能实现自己的 Spring。虽然你的实现可能无法与开源团队相媲美,但是你肯定可以实现一个 0.0.1 版本。因此,初次阅读源码时,不要陷入太深的细节中,先了解大体逻辑,再仔细研读。 ......
【随手记】解决mybatis返回List<map>类型的数据时 无序 并且 不能返回空值
#返回结果无序 希望表格的列能根据数据库查出来的数据保持一致,但是返回页面的结果集是无序 在mybatis中使用List<Map>结构接收数据,发现输入的sql语句结果并不是按照输入的字段名顺序返回的。 例如输入 select col1,col2,col3 from table 却返回 | col2 ......
Mybatis 中的 @Mapper, @MapperScan, @Repository 的用法于区别
@Mapper @Mapper是mybatis自身带的注解。 使用@Mapper可以不使用 @MapperScan 包扫描而创建dao接口实现类对象。 @MapperScan 有时候当我们有很多 mapper 接口时,就需要写很多 @Mapper 注解,这样很麻烦,有一种简便的配置化方法便是在 Sp ......
java项目 学生成绩管理系统 (源码+数据库文件)
需要的私信我 备注来意:项目名称 来了就点个赞再走呗,即将毕业的兄弟有福了 文章底部获取源码 java项目 学生成绩管理 (源码+数据库文件)技术框架:java+springboot+vue+mysql后端框 系统共分为三种用户 系统主要功能:系统设计三个角色,学生端,教师端,系统管理员端 一、 ......
从内核源码看 slab 内存池的创建初始化流程
在上篇文章 《细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现 》中,笔者从 slab cache 的总体架构演进角度以及 slab cache 的运行原理角度为大家勾勒出了 slab cache 的总体架构视图,基于这个视图详细阐述了 slab cache 的内存分配以及释放原理 ......
Collection - PriorityQueue源码解析
前面以Java ArrayDeque为例讲解了Stack和Queue,其实还有一种特殊的队列叫做PriorityQueue,即优先队列。优先队列的作用是能保证每次取出的元素都是队列中权值最小的(Java的优先队列每次取最小元素,C++的优先队列每次取最大元素)。这里牵涉到了大小关系,元素大小的评判可 ......
spring security FormLoginConfigure的作用和源码解读
这一节来研究下spring security中FormLoginConfigurer这个配置器的作用 一、综述 FormLoginConfigurer 本质上还是一个SecurityConfigurer,用来对HttpSecurity这个构建器进行配置,它用来对表单登录的功能进行配置,通过HttpS ......
一文掌握ArrayList和LinkedList源码解读
大家好,我是Leo! 今天来看一下ArrayList和LinkedList的源码,主要是看一下常用的方法,包括像add、get、remove方法,大部分都是从源码直接解读的,相信大家读完都会有一定收获。 ArrayList List<String> list = new ArrayList<>(); ......
经典版DD应用系统软件库网站源码支持多方面应用
demo软件园每日更新资源,请看到最后就能获取你想要的: 1.经典版DD应用系统软件库网站源码支持多方面应用 DD应用系统软件库网站源码 1.增加手机端开发者中心 2.增加手机端开发者中心应用管理 3.增加手机端开发者中心用户管理 4.增加手机端开发者中心网站管理 5.增加手机端开发者中心卡密导出 ......
【Java 线程池】【三】ThreadPoolExecutor提交任务流程,execute源码分析
1 前言 上一节我们看了线程池的状态和数量的计数以及提供的拒绝策略,这节我们就要看线程池的运行原理,那么在了解原理之前不知道大家对线程池有没有这样的疑问:比如线程池的线程数量是怎么进行增长的?随着任务的不断提交,线程池中的线程数量什么时候线程数量达到corePoolSize?什么时候线程数达到max ......
Redis源码之SDS简单动态字符串
Redis 是内存数据库,高效使用内存对 Redis 的实现来说非常重要。 看一下,Redis 中针对字符串结构针对内存使用效率做的设计优化。 一、SDS的结构 c语言没有string类型,本质是char[]数组;而且c语言数组创建时必须初始化大小,指定类型后就不能改变,并且字符数组的最后一个元素总 ......
Mybatis 中 foreach 的四种用法
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。 foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素进行迭代时的别名, index指 定一个名字,用于表示在迭代过程中,每次 ......
springboot mybatis 事务管理
本文主要讲述springboot提供的声明式的事务管理机制。 一、一些概念 声明式的事务管理是基于AOP的,在springboot中可以通过@Transactional注解的方式获得支持,这种方式的优点是: 1)非侵入式,业务逻辑不受事务管理代码的污染。 2)方法级别的事务回滚,合理划分方法的粒度可 ......
ThreadPoolExecutor源码学习
线程池ThreadPoolExecutor ThreadPoolExecutor 继承结构 继承结构如图所示:ThreadPoolExecutor <- AbstractExecutorService <- ExecutorService <- Executor public class Threa ......
mybatis MetaObjectHandler重复字段自动填充与线程变量ThreadLocal的巧妙联合使用方法
1.重复字段自动填充 在对数据库crud时,相信很多人都写过这样的代码,在多个service中反复的对诸如createTime,updateTime,createUser,updateUser这样的字段进行反复的set操作。很显然这样的代码时相当烦杂的,那么有没有一种方法能够让程序全局对这样的字段进 ......
成品直播源码,Android实现监听Settings值变化的功能
成品直播源码,Android实现监听Settings值变化的功能 先创建一个内部类继承自ContentObserver class SettingsContentObserver extends ContentObserver { public SettingsContentObserver() { ......
Mybatis_05 注解CRUD
Mybatis_05 注解CRUD 1、面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好 在 ......
Collection - Stack & Queue 源码解析
Vector和stack Vector:Vector的底层与ArrayList类似.都是以动态数组的方式进行对象的存储 Vector与ArrayList的区别在于Vector是线程同步操作安全的,并发安全保证 Vector很多对外的方法都用Synchronized关键字进行修饰,所以通过vector ......
[Spring6.0源码解析]简述@Configuration注解
@Configuration 标注在类上,启动 Spring 会自动扫描@Configuration注解的类,将其注册到IOC容器并实例化bean对象。如果在@Configuration注解的类中使用@Bean注解某个类对象的方法,Spring也会自动将注解了@Bean的方法注册到IOC容器,并进行 ......
最新版多语言跨境商城源码 带采集和商家入驻喜欢的可以研究
demo软件园每日更新资源,请看到最后就能获取你想要的: 1.最新版多语言跨境商城源码 带采集和商家入驻喜欢的可以研究 一套多语言跨境商城源码,带采集.卖家入驻等,将近3个G的包,我就不测试了,谁需要自己研究吧! 页面效果: 2.python自动化框架pytest教程 给网友朋友们带来一篇pytho ......
Flask快速入门day 04(请求上下文分析:request源码分析,导出项目依赖,偏函数的使用,flask生命流程,wtforms)
Flask框架 一、请求上下文分析(源码:request原理) 1、导出项目依赖 - 之前导出项目依赖使用 pip freeze > requiremnts.txt - 现在导出项目依赖 # 使用第三方模块 # 优点:可以根据项目使用的模块,更加精准的导出 - 使用方法: # 第一步:安装 pip ......
AQS源码学习
抽象队列同步器AQS AQS介绍 AQS提供一套框架用于实现锁同步机制,其通过一个 FIFO队列 维护线程的同步状态,实现类只需要继承 AbstractQueuedSynchronizer ,并重写指定方法(tryAcquire, tryRelease等)即可实现线程同步机制。 AQS 继承结构 p ......
SpringSecurity源码-构建ProviderManager
简介 在构建WenSecurity执行生命周期AbstractConfiguredSecurityBuilder#doBuild()方法中的init(),会执行到WebSecurityConfigurerAdapter#init(WebSecurity web) 方法,会去创建HttpSecurit ......