golang-rwmutex源码rwmutex golang

Redis源码之Hash表实现

通常我们如果要设计一个 Hash 表,那么我们需要考虑这几个问题: 有没有并发操作 Hash冲突如何解决 以什么样的方式扩容 对 Redis 来说,首先它是单线程的工作模式,所以不需要考虑并发问题。 想实现一个性能优异的 Hash 表,就要重点解决哈希冲突和 rehash 开销这两个问题。 一、哈希 ......
源码 Redis Hash

轻量级人工在线客服系统源码-开源版-修改客服账号问题

早期的开源版客服源码,最近又重新更新了下功能,修复了一些BUG 访客聊天的时候,会在聊天链接里指定沟通的客服账号,这个账号在后台可以修改。 当修改账号以后,访客表和消息表并没有跟着一起修改,会出现修改了账号名称后,旧的访客以及消息数据就查询不到了 现在,修复这个问题,修改账号以后,同步修改访客表和消 ......
轻量 轻量级 账号 源码 人工

Spring源码系列:初探底层,手写Spring

在学习 Spring 框架源码时,记住一句话:源码并不难,只需要给你各种业务场景或者项目经理,你也能实现自己的 Spring。虽然你的实现可能无法与开源团队相媲美,但是你肯定可以实现一个 0.0.1 版本。因此,初次阅读源码时,不要陷入太深的细节中,先了解大体逻辑,再仔细研读。 ......
Spring 底层 源码

java项目 学生成绩管理系统 (源码+数据库文件)

​ 需要的私信我 备注来意:项目名称 来了就点个赞再走呗,即将毕业的兄弟有福了 文章底部获取源码 java项目 学生成绩管理 (源码+数据库文件)技术框架:java+springboot+vue+mysql后端框 系统共分为三种用户 系统主要功能:系统设计三个角色,学生端,教师端,系统管理员端 一、 ......
源码 管理系统 成绩 数据库 文件

从内核源码看 slab 内存池的创建初始化流程

在上篇文章 《细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现 》中,笔者从 slab cache 的总体架构演进角度以及 slab cache 的运行原理角度为大家勾勒出了 slab cache 的总体架构视图,基于这个视图详细阐述了 slab cache 的内存分配以及释放原理 ......
内核 源码 流程 内存 slab

golang 代码实现单调栈

有种特殊的栈,叫做单调栈,顾名思义就是栈底到栈顶呈现单调特性,比如对于列表:[]int{6, 10, 3, 7, 4, 12},如果要实现单调栈,并不是所有入栈后呈降序或升序排列就是单调栈,如单调递增栈: 6 | 栈空,入栈 | [6] 10 | 10 > 6, 符合递增,入栈 | [6, 10] ......
代码 golang

Collection - PriorityQueue源码解析

前面以Java ArrayDeque为例讲解了Stack和Queue,其实还有一种特殊的队列叫做PriorityQueue,即优先队列。优先队列的作用是能保证每次取出的元素都是队列中权值最小的(Java的优先队列每次取最小元素,C++的优先队列每次取最大元素)。这里牵涉到了大小关系,元素大小的评判可 ......
PriorityQueue Collection 源码

spring security FormLoginConfigure的作用和源码解读

这一节来研究下spring security中FormLoginConfigurer这个配置器的作用 一、综述 FormLoginConfigurer 本质上还是一个SecurityConfigurer,用来对HttpSecurity这个构建器进行配置,它用来对表单登录的功能进行配置,通过HttpS ......

一文掌握ArrayList和LinkedList源码解读

大家好,我是Leo! 今天来看一下ArrayList和LinkedList的源码,主要是看一下常用的方法,包括像add、get、remove方法,大部分都是从源码直接解读的,相信大家读完都会有一定收获。 ArrayList List<String> list = new ArrayList<>(); ......
LinkedList 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语言数组创建时必须初始化大小,指定类型后就不能改变,并且字符数组的最后一个元素总 ......
字符串 源码 字符 动态 Redis

ThreadPoolExecutor源码学习

线程池ThreadPoolExecutor ThreadPoolExecutor 继承结构 继承结构如图所示:ThreadPoolExecutor <- AbstractExecutorService <- ExecutorService <- Executor public class Threa ......
ThreadPoolExecutor 源码

Golang 常用库之jwt-go

本文地址 https://www.cnblogs.com/zichliang/p/17303759.html github地址:https://github.com/dgrijalva/jwt-go 何为 jwt token? 什么是JSON Web Token? JSON Web Token(JW ......
常用 Golang jwt-go jwt go

成品直播源码,Android实现监听Settings值变化的功能

成品直播源码,Android实现监听Settings值变化的功能 先创建一个内部类继承自ContentObserver class SettingsContentObserver extends ContentObserver { public SettingsContentObserver() { ......
成品 源码 Settings Android 功能

如何用Golang处理每分钟100万个请求

用Golang处理每分钟100万个请求 转载请注明来源:https://janrs.com/9yaq 面临的问题 在我设计一个分析系统中,我们公司的目标是能够处理来自数百万个端点的大量POST请求。web 网络处理程序将收到一个JSON文档,其中可能包含许多有效载荷的集合,需要写入Amazon S3 ......
Golang 100

golang中的map

0.1、索引 https://waterflow.link/articles/1666339004798 1、map的结构 map提供了键值对的无序集合,所有的键都是不重复的。在go中map是基于bmap数据结构的。在内部hash表是一个桶数组,每个桶是一个指向键值对数组的指针。每个桶里面可以保存8 ......
golang map

golang中的切片

索引:https://waterflow.link/articles/1666277946416 在go中切片的底层是数组,所以切片的数据连续存储在数组的数据结构中。如果底层的数组满了,切片还需要添加元素的话,底层数组就需要扩容。如果底层数组几乎为空时,就会缩容。 在切片内部其包含一个指向底部数组的 ......
golang

golang中的接口

0.1、索引 https://waterflow.link/articles/1666171320273 1、概念 接口提供了一种指定对象行为的方法。 我们使用接口来创建多个对象可以实现的通用抽象。 Go 接口不同的原因在于它们是隐式的。 没有像 implements 这样的显式关键字来标记对象 A ......
接口 golang

golang中的错误处理

0.1、索引 https://waterflow.link/articles/1666716727236 1、panic 当我们执行panic的时候会结束下面的流程: package main import "fmt" func main() { fmt.Println("hello") panic ......
错误 golang

golang中的字符串

0.1、索引 https://waterflow.link/articles/1666449874974 1、字符串编码 在go中rune是一个unicode编码点。 我们都知道UTF-8将字符编码为1-4个字节,比如我们常用的汉字,UTF-8编码为3个字节。所以rune也是int32的别名。 ty ......
字符串 字符 golang

Collection - Stack & Queue 源码解析

Vector和stack Vector:Vector的底层与ArrayList类似.都是以动态数组的方式进行对象的存储 Vector与ArrayList的区别在于Vector是线程同步操作安全的,并发安全保证 Vector很多对外的方法都用Synchronized关键字进行修饰,所以通过vector ......
Collection 源码 Stack Queue amp

[Spring6.0源码解析]简述@Configuration注解

@Configuration 标注在类上,启动 Spring 会自动扫描@Configuration注解的类,将其注册到IOC容器并实例化bean对象。如果在@Configuration注解的类中使用@Bean注解某个类对象的方法,Spring也会自动将注解了@Bean的方法注册到IOC容器,并进行 ......
注解 Configuration 源码 Spring6 Spring

golang常用库包:log日志记录-uber的Go日志库zap使用详解

Go 日志记录库:uber-go 的日志操作库 zap 使用 一、简介 zap 是 uber 开源的一个高性能,结构化,分级记录的日志记录包。 go1.20.2 zap v1.24.0 zap的特性 高性能:zap 对日志输出进行了多项优化以提高它的性能 日志分级:有 Debug,Info,Warn ......
日志 常用 golang uber log

[golang]使用logrus自定义日志模块

简介 logrus是一个第三方日志库,性能虽不如zap和zerolog,但方便易用灵活。logrus完全兼容标准的log库,还支持文本、JSON两种日志输出格式。 特点 相较于标准库,logrus有更细致的日志级别,从高到低分别是:trace > debug > info > warn > erro ......
模块 golang logrus 日志

最新版多语言跨境商城源码 带采集和商家入驻喜欢的可以研究

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 ......
源码 AQS

SpringSecurity源码-构建ProviderManager

简介 在构建WenSecurity执行生命周期AbstractConfiguredSecurityBuilder#doBuild()方法中的init(),会执行到WebSecurityConfigurerAdapter#init(WebSecurity web) 方法,会去创建HttpSecurit ......
ProviderManager SpringSecurity 源码

vue2源码-二、对象响应式原理

// 循环对象进行一次劫持 class Observer{ constructor(value){ this.walk() } walk(data) { // 重新定义属性 Object.keys(data).forEach((key) => defineReactive(data, key, da ......
源码 原理 对象 vue2 vue