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
zmq源码分析
Libevent
源码分析
-----信号event的处理
信号event的工作原理:前面讲解了Libevent如何监听一个IO事件,现在来讲一下Libevent如何监听信号。Libevent对于信号的处理是采用统一事件源的方式。简单地说,就是把信号也转换成IO事件,集成到Libevent中。统一事件源的工作原理如下:假如用户要监听SIGINT信号,那么在实现的内部就对SIGINT这个信号设置捕抓函数。此外,在实现的内部还要建立一条管道(pipe),并把这
amoscykl
·
2024-02-07 01:47
Libevent
Libevent
libevent
Libevent
源码分析
-----超时event的处理
如何成为超时event:Libevent允许创建一个超时event,使用evtimer_new宏。//event.h文件#defineevtimer_new(b,cb,arg)event_new((b),-1,0,(cb),(arg)) 从宏的实现来看,它一样是用到了一般的event_new,并且不使用任何的文件描述符。从超时event宏的实现来看,无论是evtimer创建的event还是一般ev
amoscykl
·
2024-02-07 01:47
Libevent
Libevent
libevent
Libevent
源码分析
-event_base
event_base数据结构初始化event_base相关接口前面介绍了event,本节介绍Reactor的核心结构:event_base,它在event-internal.h中。event_base是整个libevent的核心,它持有所有注册的事件,并负责通知激活的事件。event_base数据结构structevent_base{conststructeventop*evsel;void*ev
KangRoger
·
2024-02-07 01:16
Libevent
libevent
event-base
reactor
MyBatis的二级缓存以及装饰器模式运用
目录Mybatis中如何配置二级缓存基于注解配置缓存基于XML配置缓存Cache解析处理过程Cache支持的过期策略缓存的基本实现装饰器模式Mybatis缓存实现
源码分析
BlockingCacheLRU
陈脩
·
2024-02-06 21:08
iBatis
装饰器模式
java
缓存
eureka
开发语言
JUC AQS ReentrantLock
源码分析
(一)
Java的内置锁一直都是备受争议的,在JDK1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略,但是与Lock相比synchronized还是存在一些缺陷的:虽然synchronized提供了便捷性的隐式获取锁释放锁机制(基于JVM机制),但是它却缺少了获取锁与释放锁的可操作性,可中断、超时获取锁,且它为独占式在高并发场景下性能大打折扣。如
程序员Yamy
·
2024-02-06 19:13
[k8s
源码分析
][client-go] workqueue
1.前言转载请说明原文出处,尊重他人劳动成果!源码位置:https://github.com/nicktming/client-go/tree/tming-v13.0/util/workqueue分支:tming-v13.0(基于v13.0版本)本文将分析util包中的workqueue.在各类controller中经常会使用该workqueue中的一些类.architecture.png2.qu
nicktming
·
2024-02-06 15:10
nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和
源码分析
(上)
2.1check2.2check_keepalive_requests2.3check_http_send2.4check_http_expect_alive2.5check_shm_size2.6check_status3.加载健康检测模块3.1模块的编译3.2模块的配置4.测试验证5.思考与问题6.
源码分析
码农心语
·
2024-02-06 14:27
nginx学习
nginx
http
运维
健康检测
主动
upstream
设计模式之原型模式
克隆羊问题1.1传统方式解决克隆羊问题1.2代码1.3传统方式的缺点二、原型模式2.1原型模式基本介绍2.2原型模式原理结构uml类图2.3原型模式解决克隆羊问题的应用实例2.4原型模式在Spring框架中
源码分析
三
咱老李
·
2024-02-06 11:41
设计模式
设计模式
原型设计模式
深克隆
浅克隆
编码规范
Spring框架AOP
源码分析
(二)
AOP编程使用1.注解版本实现AOP开启事物注解权限@Aspect指定一个类为切面类@Pointcut("execution(*com.itmayiedu.service.UserService.add(..))")指定切入点表达式@Before("pointCut_()")前置通知:目标方法之前执行@After("pointCut_()")后置通知:目标方法之后执行(始终执行)@AfterRet
Mark_ZSQ
·
2024-02-06 10:18
RTthread线程间通信(邮箱,消息队列,信号/软件中断)---03信号(软件中断)
源码分析
信号实际使用看这一个#ifdefined(RT_USING_SIGNALS)rt_sigset_tsig_pending;/**sig_vectors==RT_NULL){//这一个线程之前没有安转过rt_thread_alloc_sig(tid);}if(tid->sig_vectors){old=tid->sig_vectors[signo];if(handler==SIG_IGN)tid->
唐·柯里昂798
·
2024-02-06 09:15
网络
物联网
笔记
单片机
stm32
51单片机
mcu
netty-websocket扩展协议及token鉴权补充
文章源码:gitee源码部分可以看上一篇文章中的
源码分析
netty-websocket鉴权token及统一请求和响应头(鉴权控制器)最近刚好没事,看到有朋友说自定义协议好搞,我就想了想,发现上面那种方式实现确实麻烦
离别又见离别
·
2024-02-06 08:12
java排坑之路
websocket
lua
网络协议
c++之std::unique_lock, std::lock, std::scoped_lock及std::condition_variable
可用的第二个参数有三种,而lock_guard只有一种unique_lock的析构需要判断_M_owns,而lock_guard无需判定条件变量的传参为unique_lock说什么都不如源码来的简单明了1.1
源码分析
liuge
·
2024-02-06 08:12
c++学习
c++
开发语言
后端
xv6(RISC-V)操作系统
源码分析
第六节——锁
一、程序并发执行带来的问题及解决方案(一)并发执行带来的问题程序的并发执行提高了程序执行的效率,这是大多数内核所追求的,xv6也是这样。xv6采用两种方式实现程序的并发执行:采用多处理器架构在一个CPU上实现多线程机制xv6采用多处理器架构(硬件系统具有多个CPU独立执行)来实现程序的并发执行。这些CPU共享同一个DRAM,这种共享就带了问题:一个CPU在读取一个数据的同时,另一个CPU正在更新它
MCQSLW
·
2024-02-06 08:05
risc-v
unix
汇编
c语言
xv6(RISC-V)操作系统
源码分析
第一节——操作系统接口
一、内核与进程xv6使用传统形式内核(一个向其他运行中的程序提供服务的特殊程序)。每一个正在运行的程序称为进程,进程拥有自己的指令、数据与栈的内存空间。它们的功能如下:指令:实现程序的运算数据:用于运算过程的变量栈:管理程序的过程调用一个计算机通常有许多进程,但只有一个内核。二、进程调用内核服务的方式——系统调用进程通过调用系统调用来调用内核的服务。系统调用是操作系统接口中的一个调用。系统调用会进
MCQSLW
·
2024-02-06 08:34
risc-v
unix
汇编
vscode
c语言
xv6(RISC-V)操作系统
源码分析
第二节——操作系统组织
一、一个操作系统的基本要求一个操作系统至少需要满足以下三个要求:多路复用进程隔离进程通信(一)多路复用硬件CPU的数量有限,且往往少于同时存在的进程数量。而操作系统需要支持进程的并发执行,所以操作系统应该能使多个进程分时共享计算机的资源。(二)进程隔离一个进程的运行,应当具有一定的独立性,这个独立性指该进程在一定程度上不受其他进程的影响。这可以保证出了bug的程序不会严重影响其他程序的正常运行。(
MCQSLW
·
2024-02-06 08:34
risc-v
c语言
unix
汇编
vscode
xv6(RISC-V)操作系统
源码分析
第三节——地址映射与内存分配
一、xv6页表的作用物理内存指DRAM中的存储单元。物理存储器的一个字节有一个地址,称为物理地址。当指令操作虚拟地址时,分页硬件会将其翻译成物理地址,然后发送给DRAM硬件以读写。而分页硬件操作的核心数据结构就是页表。页表在物理内存中。通过页表机制,xv6为每个进程提供各自私有的地址空间和内存。页表决定了内存地址的含义与物理内存的哪些部分可以被访问。页表提供了一个间接层次,允许xv6实现如下技巧:
MCQSLW
·
2024-02-06 08:34
risc-v
unix
汇编
vscode
xv6(RISC-V)操作系统
源码分析
第五节——中断与设备驱动
一、驱动程序驱动程序是操作系统中管理特定设备的代码,它的功能包括:配置设备相关的硬件控制设备的执行处理设备产生的中断与等待设备I/O的进程进行交互驱动程序会与它所管理的设备并发执行。驱动程序必须了解设备的硬件接口。设备可以产生设备中断,在xv6中,内核中的devintr程序会处理这个中断。许多设备驱动程序会在两个上下文(context)中执行代码。这两个上下文分别是:上半部分(tophalf):在
MCQSLW
·
2024-02-06 08:34
risc-v
unix
汇编
c语言
Semaphore
源码分析
1.Semaphore定义Semaphore主要用于限量控制并发执行代码的工具类,其内部通过一个permit来进行定义并发执行的数量,其实可以理解为一个限制数量的ReadLock获取.Semaphore主要特点:Semaphore方法的实现通过Sync(AQS的继承类)代理来实现2.支持公平与非公平模式,都是在AQS的子类里面进行,主要区分在tryAcquire里面先看一个简单的demoimpor
铁甲依然在_978f
·
2024-02-06 07:12
ReentrantLock
源码分析
、LockSuppor、ReentrantReadWriteLock、锁优化的方法
ReentrantLock类图我们看一下重入锁ReentrantLock类关系图,它是实现了Lock接口的类。NonfairSync和FairSync都继承自抽象类Sync,在ReentrantLock中有非公平锁NonfairSync和公平锁FairSync的实现。在重入锁ReentrantLock类关系图中,我们可以看到NonfairSync和FairSync都继承自抽象类Sync,而Sync
_蓝天IT_
·
2024-02-06 07:12
并发编程专题
数据库
MySQL进阶垫脚石:线程长时间处于killed状态怎么破?
二、
源码分析
1、MySQL执行流程简介MySQL的启
程序员与Python
·
2024-02-06 03:36
数据库
mysql
数据库
java
多线程
redis
架构师五分钟带你读懂,Volatile的作用及原理
架构师五分钟带你读懂,Volatile的作用及原理文章简介分析volatile的作用以及底层实现原理,这也是大公司喜欢问的问题内容导航volatile的作用什么是可见性volatile
源码分析
一、volatile
勤奋的码农
·
2024-02-06 00:17
消息中间件之RocketMQ
源码分析
(五)
消费进度保存机制消费者启动时会同时启动位点管理器,RocketMQ设计了远程位点管理和本地位点管理两种位点管理方式.集群消费时,位点由客户端提交给Broker保存.广播消费时,位点保存在消费者本地磁盘上OffsetStore接口核心方法voidload():加载位点信息voidupdateOffset():更新缓存位点信息longreadOffset():读取本地位点信息voidpersistAl
coffee_babe
·
2024-02-05 20:57
消息中间件
java-rocketmq
rocketmq
java
SpringBoot Security安全认证框架初始化流程&认证流程之
源码分析
SpringBootSecurity安全认证框架初始化流程&认证流程之
源码分析
以RuoYi-Vue前后端分离版本为例分析SpringBootSecurity安全认证框架初始化流程&认证流程的
源码分析
目录
老杜095
·
2024-02-05 18:04
微服务
Java
spring
boot
安全
java
DPDK系列之四十一数据收发整体流程
源码分析
之一整体流程
一、说明在前面的分析中基本介绍了DPDK中的各种模块的技术架构,从这篇开始,就从头开始对整个代码的流程进行分析,然后在此基础上,初步掌握了DPDK的代码架构和功能分析后,再对基于DPDK的上层应用进行分析。这是一个从分到合,从基础到应用的过程。在这个过程中需要不断的回顾和补充原来的知识。二、数据包流程在前面详细分析过数据包的转运流程,其实做一种IO接口,一定是分成两部分,即数据的接收和发送。从宏观
fpcc
·
2024-02-05 17:18
网络开发
DPDK
SOFABolt
源码分析
13 - Connection 事件处理机制的设计
image.pngConnection事件处理相关类ConnectionEventType:定义了三种Connection相关事件ConnectionEventHandler:Connection事件处理器,处理两类事件Netty定义的事件:例如connect,channelActive等SOFABolt定义的事件:事件类型ConnectionEventTypeRpcConnectionEvent
原水寒
·
2024-02-05 16:48
ROS-I simple_message
源码分析
:SmplMsgConnection
SmplMsgConnection类定义了一些接口和常用的方法,用于SimpleMessage消息的发送,它做了两个假设:连接能够发送原始字节数据(封装在simplemessage之中)提供显示的connect方法来建立连接(相应的也要有一个disconnect),对于无连接的通信,比如UDP,则可以不用实现connect方法(作为一个空操作)此处的连接(connection)是代表的抽象连接,也
play_robot
·
2024-02-05 16:23
LinkedList集合
LinkedList集合1.概述2.方法2.1特有方法2.2代码示例3.遍历方法4.注意事项5.
源码分析
其他集合类父类List类祖父类Collection类具体信息请查看API帮助文档1.概述LinkedList
酷小洋
·
2024-02-05 15:47
#
Java基础语法
java
idea
开发语言
2019年需要学习的专业知识
接下来的学习计划软件知识体系结构基础知识C/C++编程语言数据结构算法分析与实现中级知识编译器原理操作系统网络编程高级知识Linux内核
源码分析
硬件知识体系结构基础知识电路知识模拟电路数字电路计算机组成原理处理器体系架构实现应用性知识
大道而至简
·
2024-02-05 15:13
了解Vue2全局API这一篇就够了
复习完之后小哆啦也会跟着大佬去学习vue的
源码分析
,在总结的时候小哆啦也尽量去理解大佬的设计思想。
故梦867
·
2024-02-05 14:56
vue.js
前端
javascript
SpringBoot自动装配原理
源码分析
(详细)
SpringBoot自动装配原理
源码分析
1.前言2.SpringBoot源码2.1@SpringBootApplication注解2.2@EnableAutoConfiguration注解2.2.1selectImports
coderedma
·
2024-02-05 13:55
spring
boot
java
后端
trinitycore 魔兽服务器
源码分析
(一) 网络
trinitycore是游戏服务器的开源代码许多玩家使用魔兽的数据来进行测试,使用它来假设魔兽私服。官方网址https://www.trinitycore.org/类似的还有mangos和kbengine不过mangos使用庞大的ACE网络框架kbengine使用自写网络库两者均使用了多语言进行开发作为trinitycore主要使用c++。代码比较好读,就开启本篇这个代码阅读的坑代码要求具备c++
weixin_30781107
·
2024-02-05 12:03
c/c++
网络
操作系统
Nacos
源码分析
Nacos
源码分析
1.下载Nacos源码并运行要研究Nacos源码自然不能用打包好的Nacos服务端jar包来运行,需要下载源码自己编译来运行。
萧曵 丶
·
2024-02-05 11:55
Nacos
Nacos
配置中心
注册中心
JAVA
Sentinel
源码分析
Sentinel
源码分析
项目源码1.Sentinel的基本概念Sentinel实现限流、隔离、降级、熔断等功能,本质要做的就是两件事情:统计数据:统计某个资源的访问数据(QPS、RT等信息)规则判断:判断限流规则
萧曵 丶
·
2024-02-05 11:55
Sentinel
sentinel
java
数据库
SpringMVC精简知识点
数据格式化基本数据类型和字符串自动转换特殊数据类型和字符串自动转换验证及国际化应用实例注意事项和使用细节注解的结合使用数据类型转换校验核心类-DatBinder取消某个属性的绑定中文乱码解决处理json和HttpMessageConverter作业布置SpringMVC文件上传自定义拦截器异常处理SpringMVC执行流程-
源码分析
作业布置数据格式化
~ 小团子
·
2024-02-05 10:22
SpringMVC
java
spring
Runtime源码剖析 对象、类(元类)与isa
从这篇博客开始我们就会进行Runtime
源码分析
,所以你需要准备一份最新的源代码,源码建议从Apple官方获取本篇博客所用的是750.1版本的objc4源码(目前最新版)对象objc_object定义在
萨缪
·
2024-02-05 08:20
nginx slice模块的使用和
源码分析
文章目录1.为什么需要ngx_http_slice_module2.配置指令3.加载模块4.
源码分析
4.1指令分析4.2模块初始化4.3slice模块的上下文4.2$slice_range字段值获取4.3httpheader
码农心语
·
2024-02-05 06:40
nginx学习
nginx
运维
slice
切片
详细分析
nginx flv模块的使用和
源码分析
这里写自定义目录标题1.为什么需要ngx_http_flv_module2.配置指令3.加载ngx_http_flv_module模块4.
源码分析
4.1指令分析4.2ngx_http_flv_handler
码农心语
·
2024-02-05 06:40
nginx学习
nginx
运维
flv
流媒体
源码分析
JAVASE进阶:Collection高级(2)——源码剖析ArrayList、LinkedList、迭代器
作者简介:一位大四、研0学生,正在努力准备大四暑假的实习上期文章:JAVASE进阶:Collection高级(1)——
源码分析
contains方法、lambda遍历集合订阅专栏:JAVASE进阶希望文章对你们有所帮助
布布要成为最负责的男人
·
2024-02-04 23:04
JAVASE进阶
java
javase
jvm
面试
数据结构
链表
源码分析
JAVASE进阶:函数式编程——lambda表达式替代匿名内部类
源码分析
——字符串拼接底层原理、StringBuilder底层原理订阅专栏:JAVASE进阶希望文章对你们有所帮助lambda表达式,高级程序员写起来真的是信手拈来,而且他们经常是把lambda放在Collection
布布要成为最负责的男人
·
2024-02-04 23:34
JAVASE进阶
java
lambda
函数式编程
面试
JAVASE进阶:Collection高级(1)——
源码分析
contains方法、lambda遍历集合
作者简介:一位大四、研0学生,正在努力准备大四暑假的实习上期文章:JAVASE进阶:函数式编程——lambda表达式替代匿名内部类订阅专栏:JAVASE进阶希望文章对你们有所帮助打算法竞赛的时候用的C++,为了方便敲代码基本上都不怎么用iterator来遍历集合,都是直接使用的下标。但在JAVA,下标遍历的方式不适合所有的集合,因为集合中还包含了Set,其没有索引的概念。又因为Java具有泛型编
布布要成为最负责的男人
·
2024-02-04 23:03
JAVASE进阶
java
jvm
lambda
面试
SpringBoot响应处理
源码分析
以及自定义MessageConverter
文章目录自定义pojo类通过@ResponseBody响应数据为json格式源码解析内容协商自定义MessageConverter自定义pojo类通过@ResponseBody响应数据为json格式源码解析1、RequestMappingHandlerAdapter.class返回值处理器执行目标方法2、ServletInvocableHandlerMethod.class确定参数,真正执行目标方
Allure丶soul
·
2024-02-04 22:09
SpringBoot
spring
boot
java
RocketMQ
源码分析
(五)消息的存储
RocketMQ存储的文件主要包括Comitlog文件、ConsumeQueue文件、IndexFile文件。CommitLog:消息存储文件,所有消息主题的消息都存储在CommitLog文件中。ConsumeQueue:消息消费队列,消息到达CommitLog文件后,将异步转发到消息消费队列,供消息消费者消费。IndexFile:消息索引文件,主要存储消息Key与Offset的对应关系。以下是核
甘_
·
2024-02-04 21:16
【tomcat路径匹配
源码分析
】搞懂tomcat中web.xml配置servlet的url-pattern为“/“和“/*“的区别
搞懂tomcat中web.xml配置servlet的url-pattern为"/"和"/*"的区别前言结论Servlet匹配规则(tomcat源码)分析举个例子路径配置为`/`导致拦截静态资源问题的解决方案总结原文地址前言我在写原生javaWEB项目时,想通过注册一个servlet实现拦截所有请求由HandOutServlet统一分发,于是我就想到把urlPatterns设置为"/"但是这个会出现
MysticalDream
·
2024-02-04 20:35
java
tomcat
spring
java
tomcat
java-ee
spring
nginx
源码分析
笔记(二):nginx整体结构、进程模型
1、nginx的整体结构master属于root用户worker进程属于nobody,权限比较低,安全性比较高。受到攻击时。2、nginx进程模型一个master多个worker进程。master是监控进程,不处理具体业务,管理worker进程。worker处理具体业务,包括连接和读写信号。3、master和worker之间采用信号或者共享内存进行通讯。看代码。4、worker进程如果死掉,mas
奥斯特洛司机
·
2024-02-04 19:51
docker 主进程 日志_docker exec 与容器日志
主讲人为DaoCloud核心开发团队成员Allen(孙宏亮),他是InfoQ「Docker
源码分析
」专栏作者,已出版《Docker
源码分析
》一书。
weixin_39977488
·
2024-02-04 19:13
docker
主进程
日志
CocosCreator3.8
源码分析
CocosCreator架构CocosCreator拥有两套引擎内核,C++内核和TypeScript内核。C++内核用于原生平台,TypeScript内核用于Web和小游戏平台。在引擎内核之上,是用TypeScript编写的引擎框架层,用以统一两套内核的差异,让开发更便捷。engine的图像与Android的Surface对接安卓平台下是从一个标准的activity启动,然后加载一个Native
破竹15
·
2024-02-04 18:41
渲染
Cocos
游戏引擎
android
源码分析
(四Handler机制详解)
Handler机制详解Handler运行机制梳理我们在使用Handler的时候,往往是这样一个使用步骤:初始化一个Handler对象,重写其handleMessage方法获取一个Message对象,并相应的为其what、obj属性赋值调用Handler.sendMessage(msg)方法发送消息发送出来的消息,将在Handler的handleMessage方法中进行处理因此,我们从sendMes
小浩_w
·
2024-02-04 16:31
安卓
源码分析
-Launcher请求到根Activity启动
安卓
源码分析
-Launcher请求到Activity启动本文基于刘望舒大佬著作《Android进阶解密》结合最新源码整理,丰富而成。
Ricardo.Lvqf
·
2024-02-04 16:07
安卓源码分析
AbstractQueuedSynchronizer
源码分析
- 细节分析
经过了前两篇AbstractQueuedSynchronizer
源码分析
-ReentrantLock抢锁解锁,AbstractQueuedSynchronizer
源码分析
-CountDownLatch分析
Ghost俊元
·
2024-02-04 15:08
Java是如何实现自己的SPI机制的?
注:该
源码分析
对应JDK版本为1.81引言这是【源码笔记】的JDK源码解读的第一篇文章,本篇我们来探究Java的SPI机制的相关源码。2什么是SPI机制那么,什么是SPI机制呢?
tyrroo
·
2024-02-04 14:14
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他