E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
muduo网络库源码剖析
唯快不破:redis
源码剖析
03-dict哈希表结构
精读了一遍dict整个实现的源码,发现dict的实现代码还是比较优秀的,代码逻辑非常严谨。尤其是dict的扩充实现感觉比较好,dict每次扩充都是按照2的指数被扩充,在扩充的过程是循序渐进的,不是一下全部由老表迁移到新表,而是有个再hash的过程,会将以前的元素重新再hash到新表中,全部再hash完后再将表赋值成新表并释放老表。其中再hash的过程是嵌入到每个操作中去实现的,比如添加,遍历操作,
昭君出塞
·
2023-12-24 22:29
redis源码剖析
redis
Java 并发编程 —— 透过
源码剖析
ForkJoinPool
目录一.前言二.工作窃取的实现原理2.1.WorkQueue(工作队列)2.2.工作窃取流程三.ForkJoinPool源码解析3.1.ForkJoinPool的字段3.1.1.常量3.1.2.成员变量3.1.3.ctl(5个部分组成)3.2.构造函数3.3.ForkJoinPool的基本组成3.4.ForkJoinPool外部任务的提交3.4.1.invoke3.4.2.execute3.4.3
流华追梦
·
2023-12-24 20:10
#
Java
线程
java
forkjoin
forkjoinpool
WorkQueue
工作窃取
Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第八章
muduo网络库
设计与实现(上)
本章从零开始逐步实现一个类似muduo的基于Reactor模式的C++网络库,大体反映了muduo网络相关部分的开发过程。本章大致分为三段,为了与代码匹配,本章的小节从0开始编号。注意本章呈现的代码与现在muduo的代码略有出入。1.8.0至8.3介绍Reactor模式的现代C++实现,包括EventLoop、Poller、Channel、TimerQueue、EventLoopThread等cl
吃着火锅x唱着歌
·
2023-12-23 14:56
C++网络库
linux
c++
网络
Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第八章
muduo网络库
设计与实现(下)
TimerQueue::cancel()8.2实现的TimerQueue不能注销定时器,本节补充这一功能。TimerQueue::cancel()的一种简单实现是用shared_ptr来管理Timer对象,再将TimerrId定义为weak_ptr,这样几乎不用我们做什么事情。在C++11中应该也足够高效,因为shared_ptr具备移动语义,可以做到引用计数值始终不变,没有原子操作的开销。但用s
吃着火锅x唱着歌
·
2023-12-23 14:26
C++网络库
linux
c++
网络
Spring 系列(九)AOP
源码剖析
第1节代理对象创建PS:查看源码的jar版本为Spring-beans:5.2.15.release1.1AOP基础用例准备Bean定义@ComponentpublicclassLagouBean{publicvoidtech(){System.out.println("javalearning......");}}Aspect定义packagecom.lagou;importorg.aspect
Eutopia_510
·
2023-12-23 13:08
Vue.js
源码剖析
-模板编译
Vue.js
源码剖析
-模板编译Vue模板编译为什么需要模板编译Vue2.x使用VNode描述视图以及各种交互,用户自己编写VNode比较复杂模板编译的目的将模板(template)字符串转换为渲染函数(
Wuner
·
2023-12-22 14:28
关于ArrayList扩容机制的
源码剖析
及删除策略
在Java集合中,ArrayList是最常用到的数据结构,无论是在日常开发还是面试中,但是很多人对它的源码并不了解。下面提问几个问题,检验一下大家对ArrayList的了解程度。ArrayList的初始容量是多少?(90%的人都会答错)ArrayList的扩容机制并发修改ArrayList元素会有什么问题如何快速安全的删除ArrayList中的元素接下来一块分析一下ArrayList的源码,看完A
jsl小时光
·
2023-12-22 13:00
java
开发语言
ArrayList
源码解析
python3.7
源码剖析
——python对象
学习陈儒老师的《Python
源码剖析
》我用的源码为python3.7,所以做了一些改动PyObject在python中万物皆对象,对象拥有相同的一些内容,这些定义在PyObject中[object.h]
陈诗萌
·
2023-12-22 05:52
【Unity项目实战】主程进阶之路文章整理
声明:下列文章链接转载自陆泽西(JesseLu)的个人博客,仅供个人学习参考使用,如若侵权,告知删除1.要点技术《Unity3D高级编程之进阶主程》第一章,C#要点技术(一)-List底层
源码剖析
《Unity3D
会奔跑的蘑菇
·
2023-12-21 16:34
Linux 内存池
源码剖析
1传统的分配与释放内存的函数缺点:void*malloc(size_tsize);void*calloc(size_tnmemb,size_tsize);void*realloc(void*ptr,size_tsize);voidfree(void*ptr);缺点1:高并发时较小内存块使用导致系统调用频繁,降低了系统的执行效率缺点2:频繁使用时增加了系统内存的碎片,降低内存使用效率缺点3:没有垃圾
江凡心
·
2023-12-21 03:04
linux基础
linux
运维
Linux 线程池
源码剖析
1了解线程池1-1线程池的概述由一个任务队列和一组处理队列的线程组成。一旦工作进程需要处理某个可能“阻塞”的操作,不用自己操作,将其作为一个任务放到线程池的队列,接着会被某个空闲线程提取处理。1-2线程池的组件任务待处理的工作,通常由标识、上下文和处理函数组成。任务队列按顺序保存待处理的任务序列,等待线程中的线程组处理。线程池由多个已启动的一组线程组成。条件变量一种同步机制,允许线程挂起,直到共享
江凡心
·
2023-12-21 03:34
linux基础
linux
运维
服务器
Muduo(C++11版本)
源码剖析
(四)———Channel设计
Channel扮演了一个IO事件分发器的作用。主要有两个地方,一个是Acceptor中的Channel,主要处理连接事件,另外每个TcpConnection类中会有一个Channel,检测fd的刻可读,关闭,错误消息,触发相应的回调函数。生命周期由Acceptor和TcpConnection控制。成员变量:private:staticconstintkNoneEvent;staticconstin
苏州-青蛙
·
2023-12-20 22:12
c++
Muduo网络库剖析
算法的10大排序
递归-难)三颗星--桶排序三颗星--计数排序四颗星--基数排序四颗星--快速排序,寻找标志位(递归-难)四颗星--又是比较难的希尔排序五颗星--堆排序谁教你这么剪的|11大排序的原理讲解和Python
源码剖析
鹿痴哇
·
2023-12-20 00:05
算法
python
ClassLoader源码分析
一、类的关系图关系类图如下:二、Launcher核心类的
源码剖析
我们先从启动类说起,有一个Launcher类sun.misc.Launcher;publicclassLauncher{privatestaticURLStreamHandlerFactoryfactory
jiuLives
·
2023-12-19 18:16
java
开发语言
Zookeeper
源码剖析
:深入理解Leader选举机制
引言(约500字)在我的职业生涯中,我深入研究过多种技术,尤其是分布式系统和中间件技术。今天,我想与大家分享我对Zookeeper源码的剖析,特别是关于其核心功能之一——Leader选举机制的深入理解。Zookeeper是Apache软件基金会的一个顶级项目,它是一个高性能的协调服务,为分布式应用提供一致性服务。在分布式系统中,Zookeeper扮演着至关重要的角色,特别是在管理集群状态、配置信息
光芒软件工匠
·
2023-12-19 09:12
zookeeper
分布式
云原生
Leader选举
Java反射,枚举讲解
作者:Mylvzi文章主要内容:Java反射,枚举讲解"作者:Mylvzi文章主要内容:数据结构之Map/Set讲解+硬核
源码剖析
一.反射1.概念Java的反射机制(reflection)是指在Java
Mylvzi
·
2023-12-17 13:02
java
开发语言
数据结构之Map/Set讲解+硬核
源码剖析
"活着是为了活着本身而活着"作者:Mylvzi文章主要内容:数据结构之Map/Set讲解+硬核
源码剖析
一.搜索树1.概念二叉搜索树又叫二叉排序树,他或者是一颗空树,或者是具有以下性质的树若它的左子树不为空
Mylvzi
·
2023-12-17 13:30
数据结构
Java集合底层
源码剖析
-HashMap扩展
文章目录LinkedHashMap有顺序的map数据结构概述基本属性构造方法Entry定义put()方法get()方法TreeMap自定义排序规则的红黑树map数据结构put函数源码get获取函数源码如何保证有序性HashSetHashSet如何去重源码分析LinkedHashSetTreeSetIterator迭代器应对多线程并发修改的fail_fast机制LinkedHashMap有顺序的ma
猿与禅
·
2023-12-17 13:23
Java技术栈源码分析
java
面试题
HashMap扩展
TreeMap
LinkedHashMap
源码分析
Java集合底层
源码剖析
-HashMap
文章目录什么是Map什么是哈希表HashMap源码中提到的几个重要概念红黑树数组+链表+红黑树的数据结构核心成员变量的作用HashMap的Node实体HashMap的构造方法优化后的降低冲突概率的hash算法put操作原理以及hash寻址算法get方法containsremove方法clear()方法处理hash冲突时的链表通过红黑树来解决hash冲突基于数组的扩容原理JDK1.8的高性能reha
猿与禅
·
2023-12-17 13:22
Java技术栈源码分析
java
hashmap
经典面试题
源码分析
详细介绍
【C++ STL】list 容器(介绍、使用、@迭代器失效、@迭代器的分类与实现方式、模拟实现、list 和 vector 的对比)
2.5修改操作①迭代器失效(⭐)②成员/非成员swap函数2.6容器操作(了解,用的很少)三、容器迭代器(重要)3.1容器迭代器的分类(⭐重要)3.2迭代器的实现方式分析(⭐重要)四、stl_list
源码剖析
CodeWinter
·
2023-12-17 10:53
C++
c++
带头双向循环链表
后端
stl_list
迭代器模式
JVM
源码剖析
之信号处理机制
版本信息:jdk版本:jdk8u40写在前面:在看到Saturn唯品会的分布式调度框架时,看到此框架使用了信号处理,并且外面关于Java信号处理机制的文章很少有写到JVM层面,所以笔者心血来潮写下了这篇关于Java信号处理机制的文章~因为Java信号处理机制是依赖于底层操作系统的信号处理机制,本文重点关注于Java信号处理机制,所以并不会过度的去介绍操作系统的信号处理机制~源码论证:因为Java信
程序员李哈
·
2023-12-17 00:56
Java底层
源码解读
信号处理
java
JVM源码
STL
源码剖析
笔记——适配器(adapters)
系列文章目录STL
源码剖析
笔记——迭代器STL
源码剖析
笔记——vectorSTL
源码剖析
笔记——listSTL
源码剖析
笔记——deque、stack,queueSTL
源码剖析
笔记——BinaryHeap
shyMJ
·
2023-12-16 22:50
STL学习笔记
c++
笔记
开发语言
学习
STL
源码剖析
笔记——deque、stack,queue
系列文章目录STL
源码剖析
笔记——迭代器文章目录系列文章目录1.deque概述2.deque的中控器3.deque的迭代器4.deque的数据结构5.deque的构造和内存管理6.deque的元素操作7
shyMJ
·
2023-12-16 22:19
STL学习笔记
c++
笔记
开发语言
STL
源码剖析
笔记——Binary Heap、priority_queue
系列文章目录STL
源码剖析
笔记——迭代器文章目录系列文章目录1.Heap的概念2.Heap算法(1)push_heap(2)pop_heap(3)sort_heap(4)make_heap3.相关容器priority_queue1
shyMJ
·
2023-12-16 22:19
STL学习笔记
c++
笔记
开发语言
学习
spark 内核
源码剖析
十四:Checkpoint原理
Checkpoint,是Spark提供的一个比较高级的功能。有的时候啊,比如说,我们的Spark应用程序,特别的复杂,然后呢,从初始的RDD开始,到最后整个应用程序完成,有非常多的步骤,比如超过20个transformation操作。而且呢,整个应用运行的时间也特别长,比如通常要运行1~5个小时。在上述情况下,就比较适合使用checkpoint功能。因为,对于特别复杂的Spark应用,有很高的风险
雪飘千里
·
2023-12-16 12:27
python3.7
源码剖析
——编译python
学习陈儒老师的《Python
源码剖析
》我用的源码为python3.7,所以做了一些改动下载源码https://www.python.org/downloads/release/python-377/linux
陈诗萌
·
2023-12-15 12:31
spark 内核
源码剖析
五:Master主备切换机制原理
Spark高可用HA,是可以配置两个Master的,一个AcitveMaster,一个StandByMaster,当ActiveMaster节点挂掉的时候,可以将StandByMaster切换为ActiveMaster。SparkMaster主备切换可以基于两种机制,一种是基于文件系统的,一种是基于Zookeeper(生产中用的多);基于文件系统的主备切换机制,需要在ActiveMaster挂掉之
雪飘千里
·
2023-12-14 23:08
【Android】Retrofit创建实例源理
文章目录Retrofit类Builder内部类baseUrl()addConverterFactory()client()对retrofit的创造实例过程进行
源码剖析
。
xoliu1
·
2023-12-05 15:17
第三方开源库
android
retrofit
java
androidx
Protobuf 介绍与实战46:protoc-gen-go-https插件介绍
已发表的技术专栏0 grpc-go、protobuf、multus-cni技术专栏总入口1 grpc-go
源码剖析
与实战 文章目录2 Protobuf介绍与实战图文专栏 文章目录3 multus-cni
码二哥
·
2023-12-05 14:29
grpc-go
protobuf
golang
kubernetes
docker
Protobuf 介绍与实战34:protobuf FileOptions 文件级别 选项介绍
已发表的技术专栏0 grpc-go、protobuf、multus-cni技术专栏总入口1 grpc-go
源码剖析
与实战 文章目录2 Protobuf介绍与实战图文专栏 文章目录3 multus-cni
码二哥
·
2023-12-05 14:28
grpc-go
kubernetes
protobuf
golang
架构师
Mybatis
源码剖析
-- 架构原理
一、架构设计Mybatis的功能架构分为三层API接口层提供给外部使用的接口API,开发人员通过这些本地API来操作数据库。接口层⼀接收到调用请求就会调用数据处理层来完成具体的数据处理MyBatis和数据库的交互有两种方式使用传统的MyBatis提供的API使用Mapper代理的方式数据处理层负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成⼀次数据
Travis_Wu
·
2023-12-05 03:31
activiti流程回退与流程结束
回退Activiti6.0版本流程撤回、跳转、回退等操作ativiti6.0流程节点自由跳转实现、拒绝/不同意/返回上一节点、流程撤回、跳转、回退等操作(通用实现,亲测可用)-掘金activiti6.0
源码剖析
之节点任意跳转
ps酷教程
·
2023-12-04 23:41
工作流
笔记
Android-网络请求库okhttp源码阅读随笔
implementation'com.squareup.okhttp3:okhttp:3.10.0'2.okhttp执行网络请求调用方式:异步请求调用Call.enqueue();同步请求调用Call.execute()Activity二:框架基本流程
源码剖析
由于
wuri
·
2023-12-03 11:44
Netty核心技术及
源码剖析
-Netty编解码器机制简述
编码和解码的基本介绍1、编写网络应用程序时,因为数据在网络中传输的欧式二进制字节码数据,在发送数据时就需要编码,接收数据时需要解码。2、codec(编码器)的组成部分有两个:decoder(解码器)和encoder(编码器)。encoder负责把业务数据转换成字节码数据,decoder负责把字节码数据转换成业务数据。Netty本身的编码解码的机制和问题分析1、Netty自身提供了一些codec(编
Shaw_Young
·
2023-12-02 13:05
Nacos 2.X核心架构
源码剖析
概述注册中心并发处理,1.4.x写时复制,2.1.0读写分离;nacos一般使用AP架构,即临时实例,1.4.x为http请求,2.1.0优化为gRPC协议;源码中使用了大量的事件通知机制和异步定时线程池;源码中添加了对应的注释,后期再画流程图;源码仓库:https://gitee.com/firechou/source-nacos-2.1.0.git客户端启动客户端pom.xml引入client
Firechou
·
2023-12-01 19:12
#
Nacos
架构
nacos
深度解析 Spring Security 自定义异常失效问题:
源码剖析
与解决方案
作者主页:有来技术开源项目:youlai-mallvue3-element-adminyoulai-boot仓库主页:GiteeGithubGitCode欢迎点赞收藏⭐留言如有错误敬请纠正!目录问题描述项目关键代码自定义异常处理器SpringSecurity配置全局异常处理器访问权限测试接口问题分析解决方案源码阅读ExceptionTranslationFilter#doFilterDispatc
有来技术
·
2023-12-01 06:56
#
Spring
#
youlai-boot
#
Spring
Boot
spring
java
后端
spring
boot
mvc
线程池ThreadPoolExecutor
源码剖析
线程池ThreadPoolExecutor
源码剖析
概览线程的创建方式线程池的参数线程池执行流程图执行流程源码解析线程池状态图worker的封装线程执行的后续处理线程池中线程执行任务总体工作流程一,线程的创建方式继承
Edward*H
·
2023-12-01 05:07
java
数据库
开发语言
STL-空间配置器
近来看了看《STL
源码剖析
》中的空间配置器,尝试着读了一下,觉得模板还是强大的,同时对于allocator的函数有了进一步的认识。
steem_ding
·
2023-12-01 00:10
STL源码分析
算法
stl
开源
『嗨威说』算法设计与分析 - STL中Sort函数的实现原理初探
算法使用的三个排序算法的优点介绍2.1插入排序的优缺点2.2堆排序的优缺点2.3快速排序的优缺点2.4新的结合排序——内省式排序的出现三、sort函数的具体实现四、尾录一、对Sort算法实现的个人阅读体会:如同《STL
源码剖析
weixin_30466039
·
2023-11-30 20:58
c/c++
大数据
数据结构与算法
SpringBoot:异步任务基础与
源码剖析
官网文档:HowToDo@AsyncinSpring|Baeldung。@Async注解Spring框架基于@Async注解提供了对异步执行流程的支持。最简单的例子是:使用@Async注解修饰一个方法,那么这个方法将在一个单独的线程中被执行,即:从同步执行流程转换为异步执行流程。此外,Spring框架中,事件Event也是支持异步处理操作的。@EnableAsync注解|核心接口通过在配置类上添加
是席木木啊
·
2023-11-29 21:38
Java
GIS技术
spring
boot
java
spring
Spring
源码剖析
4:其余方式获取Bean的过程分析
原型Bean加载过程之前的文章,分析了非懒加载的单例Bean整个加载过程,除了非懒加载的单例Bean之外,Spring中还有一种Bean就是原型(Prototype)的Bean,看一下定义方式:126789原型Bean加载流程总得来说和单例Bean差不多,看一下不同之处,在AbstractBeanFactory的doGetBean的方法的这一步:1elseif(mbd.isPrototype())
程序员黄小斜
·
2023-11-29 19:39
SpringBoot-SpringSecurity基本使用-
源码剖析
文章目录简介案例介绍案例细节引入依赖核心控制器自定义SpringSecurity安全配置源码分析@EnableWebSecurity@EnableGlobalAuthenticationimport-WebSecurityConfiguration.classWebSecurityConfigurerAdapter自定义配置类再分析授权分析认证分析相关类再分析授权核心类HttpSecurity认证
!NULL_YM
·
2023-11-29 14:10
SpringBoot
spring
boot
spring
java
Spring
Security
原理
SpringSecurity基本原理 认证流程
源码剖析
SpringSecurity基本原理一、基本认证流程SpringSecurity本质是一个过滤器链:从启动是可以获取到过滤器链:org.springframework.security.web.下的:context.request.async.WebAsyncManagerIntegrationFiltercontext.SecurityContextPersistenceFilterheader
Charte
·
2023-11-29 14:38
Spring
spring
java
1024程序员节
源码剖析
Spring Boot 工作原理(文末送书)
老读者可能比较了解,我一般喜欢写一些源码分析类的文章。通过源码来分析框架的实现原理、通过源码跟踪进行问题定位等等。有源码,就好比揭开引擎盖,全貌和细节都一览无余。不过实话说,这种文章「不太好写」。写的人为了要在文章中通过源码将架构、原理、分析过程等都展现给读者,不一小心就会把分析过程中的代码大段的罗列,以代码为证,通过代码来讲事实,通过代码来解释说明问题。「代码胜于XX,showyouthecod
chainhou
·
2023-11-29 14:06
spring
编程语言
jvm
spring
boot
kubernetes
Spring Security底层
源码剖析
过滤器链中三个较为重要的过滤器FilterSecurityInterceptor:是一个方法级别的权限过滤器,基本位于过滤链的最底层。ExceptionTranslationFilter:是个异常过滤器,用来处理在认证授权过程中抛出的异常。UsernamePasswordAuthenticationFilter:对/login的POST请求做拦截,校验表单中用户名,密码。过滤器如何进行加载的?使用
albort_steven
·
2023-11-29 14:36
java
spring
源码剖析
Spring Security 的实现原理
SpringSecurity是一个轻量级的安全框架,可以和Spring项目很好地集成,提供了丰富的身份认证和授权相关的功能,而且还能防止一些常见的网络攻击。我在工作中有很多项目都使用了SpringSecurity框架,但基本上都是浅尝辄止,按照说明文档配置好就完事了,一直没有时间深入地研究过。最近在Reflectoring上看到了一篇文章GettingstartedwithSpringSecuri
程序员字典
·
2023-11-29 14:04
后端
深入探究Lua的GC算法
对于内存的管理,是程序在应用的时候的必需知识点,《Lua设计与实现》中对Lua语言的GC原理做了一个详细的讲解,云风的blog也对其进行了详尽的讲解LuaGC的
源码剖析
系列给出作者@codedump在github
jinxinliu1
·
2023-11-28 17:55
lua
list vector set map multimap multiset 容器大揭秘
1.vector底层数据结构为数组,支持快速随机访问2.list底层数据结构为双向链表,支持快速增删3.deque底层数据结构为一个中央控制器和多个缓冲区,详细见STL
源码剖析
P146,支持首尾(中间不能
luckystar_sai
·
2023-11-28 08:25
数据结构
C/C++
微服务&Dubbo
4、Sentinel限流熔断降级核心
源码剖析
5、分布式事务(seata)6.序列化与反序列化二、Dubbo底层原理与源码1、为什么不注入实现类而是接口?通过按口怎么找到具体的提供者实现方法?
方生方死
·
2023-11-28 07:48
微服务
dubbo
架构
(一)unity自带的着色器
源码剖析
之——————UnityShaderVariables.cginc文件
unityShaderVariables.cginc文件中包含大量的工具宏和函数,如变换操作用的矩阵、与摄像机相关的函数、与光照和阴影相关的函数,以及与雾效果相关的函数等。下面依次分析这些工具函数和宏。一、进行变换操作用的矩阵1.1判断USING_DIRECTIONAL_LIGHT宏是否定义并分析与立体渲染相关的宏代码段如下,从第3行开始,14行结束:#ifndefUNITY_SHADER_VAR
小橙子0
·
2023-11-28 02:30
游戏开发
unity
Shader
unity内置着色器源码剖析
unity内置着色器源码剖析
unity
Shader
游戏开发
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他