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
busybox源码剖析
Muduo库
源码剖析
(一)——Channel
Muduo库
源码剖析
(一)——Channel说明本
源码剖析
是在muduo基础上,保留关键部分进行改写分析。
FuzhouJiang
·
2023-04-15 18:51
Muduo
网络编程
C/C++
c++
服务器
Redis Sentinel原理及
源码剖析
主题:Redissentinel原理及实现
源码剖析
大纲:1、冯老师,好久不见,看了下你的分享主题,最近是在埋头啃Redis源码吗?2、多点现在Redis大概用的什么规模,主要用在什么业务上?
老叶茶馆_
·
2023-04-15 08:42
数据库
运维
编程语言
redis
分布式
「Python
源码剖析
」对象模型有哪些特色?本文详解
Python是一门面向对象语言,实现了一个完整的面向对象体系,简洁而优雅。与其他面向对象编程语言相比,Python有自己独特的一面。这让很多开发人员在学习Python时,多少有些无所适从。那么,Python对象模型都有哪些特色呢?一切皆对象首先,在Python世界,基本类型也是对象,与通常意义的“对象”形成一个有机统一。换句话讲,Python不再区别对待基本类型和对象,所有基本类型内部均由对象实现
python阿喵
·
2023-04-15 01:15
K8s Service
,有以下几种类型:ClusterIP基本配置如下:kind:ServiceapiVersion:v1metadata:name:svc-0412-cipspec:selector:app:nginx-
busybox
type
京樂春水
·
2023-04-14 19:36
ThreadLocal
源码剖析
每个线程都保持对其线程局部变量副本的隐式引用,只要线程是活动的并且ThreadLocal实例是可访问的。在线程消失之后,其线程局部实例的所有副本都会被垃圾回收,(除非存在对这些副本的其他引用)。1.使用示例publicclassThreadId{//AtomicintegercontainingthenextthreadIDtobeassignedprivatestaticfinalAtomicI
王侦
·
2023-04-14 16:09
C++ STL 几个容器的底层实现
C++STL的实现:1.vector底层数据结构为数组,支持快速随机访问2.list底层数据结构为双向链表,支持快速增删3.deque底层数据结构为一个中央控制器和多个缓冲区,详细见STL
源码剖析
P146
大隐隐于野
·
2023-04-14 08:14
#
C/C++编程语言
RISC-V Linux kernel debug 环境搭建
①BuildNinja②Buildriscv-gnu-compilertoolchainanddebuggdb③命令行安装gcc-riscv64-linux-gnu-三、BuildQemu四、Buildopensbi五、Build
Busybox
修川 地藏
·
2023-04-14 05:56
risc-v
linux
<Java八股文面试>ArrayList源码 | Iterator源码 | LinkedList和ArrayList对比
文章目录1.ArrayList1.1ArrayList扩容规则介绍1.2ArrayList
源码剖析
1.2.1ArrayList构造方法和属性分析1.2.2add()方法1.2.3addAll()方法2.
爱编程的大李子
·
2023-04-14 01:05
Java面试题总结
ArrayList
Iterator
LinkedList
Java
nginx线程池
源码剖析
文章目录nginx线程池1.问题2.解决办法nginx线程池3.线程池实现模型4.线程池实现核心组件5.源码实现测试代码main.c封装互斥锁&条件变量线程池实现nginx线程池1.问题处理事件过程“阻塞”怎么办?忙于漫长的CPU密集型处理读取文件,但文件尚未缓存,从硬盘中读取较为缓慢不得不等待获取某个资源:网络上的请求和响应,互斥锁,等待同步方式调用的数据库响应单个进程或线程同时只能处理一个任务
小瑞的学习笔记
·
2023-04-13 12:39
linux
nginx
linux
c++
服务器
开发语言
使用Alpine镜像构建镜像
包含了以下特点:小巧:基于Musllibc和
busybox
,和
busybox
一样小巧,最小的Docker镜像只有5MB;安全:面向安全的轻量发行版;简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便
南方游牧
·
2023-04-13 11:23
docker
linux
python
java
centos
深入底层C
源码剖析
Redis底层数据结构
Redis基本特性1.非关系型的键值对数据库,可以根据键以O(1)的时间复杂度取出或插入关联值2.Redis的数据是存在内存中的3.键值对中键的类型可以是字符串,整型,浮点型等,且键是唯一的4.键值对中的值类型可以是string,hash,list,set,sortedset等5.Redis内置了复制,磁盘持久化,LUA脚本,事务,SSL,ACLs,客户端缓存,客户端代理等功能6.通过Redis哨
詹姆斯-穆里尼奥
·
2023-04-13 11:16
redis
lua
数据库
Muduo
源码剖析
--整体架构
Muduo整体架构1.编译和安装git:GitHub-chenshuo/muduo:Event-drivennetworklibraryformulti-threadedLinuxserverinC++11gitclonehttps://github.com/chenshuo/muduo.git安装依赖库:sudoaptinstallg++cmakemakelibboost-dev可安装三个非必须
birate_小小人生
·
2023-04-13 02:57
muduo剖析
架构
linux
tcp
(万字
源码剖析
)
前言作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端专栏简介:juc并发编程,讲解锁原理、锁机制、线程池、AQS、并发容器、并发工具等,深入源码,持续更新。文章简介:本文主要介绍线程池的实现原理,注释十分详细,并且对于值的学习的代码做了点评相关推荐:Juc并发编程12——2万字深入源码:线程池这篇真的讲解的透透的了前面我们已经介绍过线程池的使用了,下面我们来深挖它的实现原
半旧518
·
2023-04-12 21:43
juc
java
开发语言
juc
并发
原力计划
JUC并发编程02——AQS
源码剖析
1.AQS介绍相信每个JavaCoder都使用过或者至少听说过AQS,它是抽象队列同步器AbstractQueuedSynchronizer的简称,在juc包下。它提供了一套可用于实现锁同步机制的标准框架,其维护了一个volatile修饰的共享变量state和一个FIFO(先进先出)线程等待队列,多线程争用资源被阻塞的时候就会进入这个队列。state是共享变量,其访问方式有如下三种:getStat
程序一逸
·
2023-04-12 21:58
java
c++
jvm
Spring Security
源码剖析
从入门到精通.跟学尚硅谷(二)
SpringSecurity
源码剖析
从入门到精通.跟学尚硅谷二4.SpringSecurity微服务权限方案4.1什么是微服务1、微服务由来2、微服务优势3、微服务本质4.2微服务认证与授权实现思路1、
心向阳光的天域
·
2023-04-12 18:35
其它java框架
spring
java
微服务
spring
security
Android HandlerThread全面解析
在对Android异步消息处理机制
源码剖析
和AndroidAsyncTask
源码剖析
后,下面对Android中的另一个和异步消息机制相关的类-HandlerThread进行全面解析。
CyanStone
·
2023-04-12 17:41
muduo
源码剖析
——ThreadPool线程池的实现
1线程池原理muduo源码中线程池的实现是基于生产者/消费者模式的,可参考基于生产者/消费者模式原理实现无界缓冲区和有界缓冲区。其中缓冲区(即下图中的任务队列)为“环形缓冲区”。其实现原理如下:2代码实现2.1类图2.2代码ThreadPool.h//UseofthissourcecodeisgovernedbyaBSD-stylelicense//thatcanbefoundintheLicen
高自强的博客
·
2023-04-12 00:42
muduo
线程池
muduo
源码剖析
——以三个切片浅析muduo库代码设计的严谨性、高效性与灵活性
0前言陈硕大佬的muduo网络库的源码我已经看了好久了,奈何本人实力有限,每每看到其代码设计的精巧之处只能内心称赞,无法用言语表达出来。实在令人汗颜。最近在看到网络设计部分时有了一些体会,结合自己之前在网络编程方面的积累,特对代码设计中的一些精巧之处做一些总结。就muduo在多线程并发服务器设计而言,除了其高效的并发服务架构之外,其在代码设计方面的高效性和灵活性可以从下面三个切片得以体现。在这之前
高自强的博客
·
2023-04-12 00:42
muduo
多线程
Muduo
源码剖析
1、总体流程1.acceptor进行listen阶段后,往channel中注册可读事件。2.acceptor可读处理中生成TcpConnection指针,通过EventloopThreadPool轮询出其中一个线程的eventloop,并将此TcpConnection的可读、可写等事件注册到自己Channel(eventLoop)中。3.每个EventLoop监听到具体channel的事件后,分析
YanWenCheng_
·
2023-04-12 00:08
muduo
c++
Muduo库
源码剖析
(三)——获取线程tid方法
相关知识点__thread__thread修饰表示使用线程局部存储机制(threadlocal机制),即会为修饰的变量在当前线程存储一份copy,别的线程是看不到这个变量的修改__thread是GCC内置的线程局部存储设施,其存储效率可以和全局变量相比;__thread变量在每一个线程中都有一份独立实例,各线程值是互不干扰的。extern在C++中,extern是一个关键字,用于在当前文件以外的地
FuzhouJiang
·
2023-04-12 00:34
网络编程
Muduo
C/C++
c++
服务器
linux
第六章 数据中台PaaS层离线存储之HDFS
源码剖析
第一部分 - NameNode启动流程&HadoopRpc协议详述
1、大数据源码解读思路(1)掌握其网络通信架构(2)场景驱动方式HDFS:namenodedatanode启动写数据得流程更新原数据流程读数据流程2、HadoopRPC的Demo详述含义:远程过程调用,即不同进程的方法的调用。2.1、创建pom依赖org.apache.hadoophadoop-client2.7.02.2、相关源码调试(1)创建客户端和服务端通信协议接口/***协议*@autho
随缘清风殇
·
2023-04-11 23:01
大数据架构师专题
hbase
big
data
数据库
老王教学视频第一周
Android:kernel+
busybox
(工具集)+java虚拟
__5099
·
2023-04-11 20:17
STL
源码剖析
-六大部件, 部件的关系,复杂度, 区间表示
C++标准库-体系结构与内核分析根据源代码来分析介绍自学C++侯捷老师的STL
源码剖析
的个人笔记,方便以后进行学习,查询。为什么要学STL?
null_one
·
2023-04-11 17:34
C++
c++
算法
开发语言
源码剖析
JVM类加载机制
1前言我们平常开发中,都会部署开发的项目或者本地运行main函数之类的来启动程序,那么我们项目中的类是如何被加载到JVM的,加载的机制和实现是什么样的,本文给大家简单介绍下。2类加载运行全过程当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM,通过Java命令执行代码的大体流程如下从流程图中可以看到类加载的过程主要是通过类加载器来实现的,那么什么是类加载
京东云技术团队
·
2023-04-11 17:30
jvm
java
开发语言
源代码管理
STL
源码剖析
-分配器 Allocator
分配器(Allocator)分配器给容器用的,是一个幕后英雄的角色。分配器的效率非常重要。因为容器必然会使用到分配器来负责内存的分配,它的性能至关重要。在C++中,内存分配和操作通过new和delete完成。new中包含两个操作,第一步是使用operatornew分配内存,第二步是调用构造函数;delete中包含两个操作,第一步是调用析构函数,第二步是使用operatordelete释放内存。op
null_one
·
2023-04-11 17:25
C++
开发语言
c++
busybox
制作及移植ssh和gdb支持ccs9调试--Apple的学习笔记
前言由于我要进入驱动及中间件应用开发,仅gdb远程调试没有界面,不方面,所以还是想用有界面的比如ccs9或者vscode。那么需要在开发板支持gdbserver和sshd服务器。那么问题来了buildroot默认使用uclib无法支持gdbserver的编译。我把原来tisdk自带的编译出来的gdbserver放入buildroot文件系统是无法运行的。所以放弃uclib编译的文件系统。正好尝试下
applecai
·
2023-04-11 16:53
【go-libp2p
源码剖析
】Swarm拨号
1.简介libp2pswarm是用于libp2p网络的“低级”接口,可以更精细地控制系统的各个方面。swarm可以建立监听,也可以向其他主机拨号建立新的连接(比如和某个主机建立tcp连接),而这里所指的拨号其实就是建立出站连接的过程,它的实现逻辑较为复杂,我们在这里做一个梳理。2.代码结构仓库地址:https://github.com/libp2p/go-libp2p-swarm.git拨号相关代
Netwarps
·
2023-04-11 03:30
C++推荐书籍
EffectiveC++MoreEffectiveC++EffectiveModernC++高难度InsidetheC++ObjectModelModernC++Design(C++设计新思维)——这是一本奇书STL
源码剖析
飞翼剑仆
·
2023-04-11 00:39
C++
c++
开发语言
windows shell使用指南
windowsshell使用指南终端工具FluentTerminalhyperwindowsterminaltabby(原名Terminus)软件包管理工具chocolateywingetscooplinux命令配置git
busybox
gow
tomyyyyy
·
2023-04-10 07:03
linux
ssh
git
mac
github
Java多线程:ThreadLocal
源码剖析
ThreadLocal
源码剖析
ThreadLocal其实比较简单,因为类里就三个public方法:set(Tvalue)、get()、remove()。
Java程序员老张
·
2023-04-10 02:49
java
哈希算法
开发语言
【
源码剖析
】Launcher 8.0 源码 (13) --- Launcher 启动流程 第六步之LauncherModel的布局操作(一) 整体概述
之前我们讲了初始化对象,根据硬件参数来获取布局,获取数据参数,所有的都准备好以后,就将进行数据的加载与绑定,本篇文章就来讲讲Launcher启动流程第六步之LauncherModel的布局操作。这一步在Launcher的oncreate启动流程是最关键的一步。这一部分的代码是:if(!mModel.startLoader(currentScreen)){//Ifwearenotbindingsyn
lonamessi
·
2023-04-09 23:11
c++——红黑树
1——u不存在情况2——u存在且为黑情况三:cur为红,p为红,g为黑,u不存在/u存在且为黑五.红黑树的验证六.红黑树与AVL树的比较不解析删除,解析插入,红黑树的删除参考:《算法导论》或者《STL
源码剖析
Hiland.
·
2023-04-09 18:41
#
C++
数据结构
MyBatis核心
源码剖析
(SqlSession XML解析 Mapper executor SQL执行过程 自定义类型处理器 缓存 日志)
MyBatis核心
源码剖析
MyBatis核心
源码剖析
1MyBatis源码概述1.1为什么要看MyBatis框架的源码1.2如何深入学习MyBatis源码1.3源码分析的5大原则2MyBatis架构体系深入剖析
Ybb_studyRecord
·
2023-04-09 10:24
源码深度剖析
mysql源码剖析
sqlsession
mapper
executor
缓存
嵌入式Linux系统中根文件系统构建方式
1.根文件系统布局目录1.根文件系统布局2.使用
BusyBox
生成二进制工具2.1.获取
BusyBox
源码2.2.配置
BusyBox
3.构建根文件系统4.制作根文件系统镜像嵌入式Linux根文件系统布局
ST小智
·
2023-04-09 08:25
linux
服务器
windows
【无标题】Spirng security安全框架
了解基本原理新手小白去b站寻找视频学习尚硅谷SpringSecurity框架教程(springsecurity
源码剖析
从入门到精通)_哔哩哔哩_bilibiliSpringSecurity框架教程-SpringSecurity
欢868
·
2023-04-09 03:46
java
spring
SpringSecurity
本教程来自:尚硅谷SpringSecurity框架教程(springsecurity
源码剖析
从入门到精通)教程分为五大部分:框架概述、入门和基本原理、基于Web的权限方案、基于微服务的权限方案、
源码剖析
anotherQu
·
2023-04-09 02:33
java
java
spring
boot
spring
Spring Security
源码剖析
从入门到精通.跟学尚硅谷(一)
SpringSecurity
源码剖析
从入门到精通.跟学尚硅谷一学习目标1.SpringSecurity框架简介1.1概要1.2历史1.3同款产品对比1.3.1SpringSecurity1.3.2Shiro1.4
心向阳光的天域
·
2023-04-09 02:30
其它java框架
spring
java
后端
spring
security
EGOCache 使用和
源码剖析
1.介绍EGOCacheEGOCache是一个简单的、线程安全的基于key-value的缓存框架,支持NSString、UI/NSImage和NSData,也支持存储任何实现协议的类,可以设定缓存的过期时间,默认为1天。EGOCache只提供了磁盘缓存,没有提供内存缓存。2.使用2.1.在Podfile中添加Podpod'EGOCache'之后终端执行:podinstall--no-repo-up
JonyFang
·
2023-04-09 00:06
QEMU启动ARM64 Linux内核
目录前言前置知识virt开发板ARM处理器家族简介安装qemu-system-aarch64安装交叉编译工具交叉编译ARM64Linux内核交叉编译ARM64
Busybox
使用
busybox
制作initramfs
许振坪
·
2023-04-08 18:47
qemu
linux
qemu
QEMU启动x86-Linux内核
目录QEMU简介linux启动流程我的环境安装QEMU软件包安装源码安装编译linux内核编译
busybox
制作initramfs使用QEMU启动linux内核简化命令参考QEMU简介QEMU(quickemulator
许振坪
·
2023-04-08 18:17
qemu
qemu
QEMU启动ARM32 Linux内核
目录前言前置知识ARMVersatileExpress开发板简介ARM处理器家族简介安装qemu-system-arm安装交叉编译工具交叉编译ARM32Linux内核交叉编译ARM32
Busybox
使用
许振坪
·
2023-04-08 18:14
qemu
qemu
boost.asio: deadline_timer
源码剖析
文章目录deadline_timer相关类介绍从示例程序看源码同步调用——wait异步调用——async_wait异步定时器示例gdb异步定时器流程deadline_timer相关类介绍deadline_timer众所周知,是asio的一个核心定时器,支持同步定时触发和异步定时触发。具体有什么功能如何使用这里不作介绍,本文主要从deadline_timer的wait和async_wait入手,解释
Erice_s
·
2023-04-08 17:08
STL/Boost
linux
后端
c++
服务器
【C++】map和set的封装(红黑树)
map和set的封装一、介绍二、stl
源码剖析
三、仿函数获取数值四、红黑树的迭代器五、map的[]5.1普通迭代器转const迭代器六、set源码七、map源码八、红黑树源码一、介绍首先要知道map和set
命由己造~
·
2023-04-08 15:22
C++
c++
数据结构
算法
【C++】红黑树封装实现 map 和 set
文章目录一、
源码剖析
二、红黑树的迭代器三、模拟实现set四、模拟实现map五、完整代码(最终实现)1、RBTree.h2、set.h3、map.h4、test.cpp一、
源码剖析
我们之前在学习set和map
野猪佩奇`
·
2023-04-08 15:31
C++进阶
c++
开发语言
Java并发编程之ScheduledThreadPoolExecutor
源码剖析
之前我们剖析过Java中线程池ThreadPoolExecutor的源码,链接为https://blog.csdn.net/HappyHeng/article/details/86827324,这一节从源码层次讲一下ScheduledThreadPoolExecutor这个定时线程池是如何执行任务的。一、ScheduledFutureTask:在ThreadPoolExecutor中提交任务执行,
HappyHeng
·
2023-04-08 09:16
java源码解析
ThreadPool
Executor
Scheduled
Pool
【redis学习篇】Redisson实现的分布式独占锁核心流程剖析
一、Redisson分布式锁锁竞争流程二、加锁核心
源码剖析
2.1lockInterruptibly方法@OverridepublicvoidlockInterruptibly(longleaseTime
Java学习者柯十一
·
2023-04-08 06:40
Redis
redis
学习
分布式
java
Muduo库
源码剖析
(八)——TcpServer类
TcpServer类要点TcpServer类的主要作用是,管理整个服务器,做如下的一些操作:管理accept(2)获得的TcpConnectionTcpServer是供用户直接使用的,生命期由用户控制设置mainLoop,并利用mainLoop进行新连接的管理初始化TcpServer对应的Acceptor用于监听新连接到来根据oneloopperthread的设计方案,setThreadNum设置
qq_42120843
·
2023-04-08 00:14
网络编程
Muduo
C/C++
c++
服务器
linux
Muduo库
源码剖析
(九)——TcpConnection类
TcpConnection类要点TcpConnection表示的是“一次TCP连接”,它是不可再生的,一旦连接断开,这个TcpConnection对象就没啥用了。它的主要功能就是对成功连接服务器的客户连接connfd的封装。一个TcpConnection唯一对应一个Channel和SocketChannel处理事件的一系列回调就是在TcpConnection类中设置和实现的。TcpConnecti
qq_42120843
·
2023-04-08 00:14
Muduo
网络编程
C/C++
服务器
c++
linux
Muduo库
源码剖析
(七)——缓冲区Buffer类
Buffer类要点由于Muduo库使用的是非阻塞IO模型,即每次send()不一定全发完,没发完的数据要用一个容器进行接收,所以必须要实现应用层缓冲区.缓冲区中各个指针和区域,下图要牢牢记住:其中prependablebytes通常用于解决粘包,kCheapPrepend是为了在序列化的时候可以便宜的在首部增加几个字节而不必腾挪std::vector的内部空间。缓冲区底层使用std::vector
qq_42120843
·
2023-04-08 00:13
Muduo
网络编程
C/C++
c++
服务器
linux
【无标题】Muduo库
源码剖析
(十)——总结
Muduo网络库的核心代码模块Channel封装fd的对应事件变化情况,和关注事件fd、events、revents、callbacks,两种channel:listenfd-acceptorChannel,connfd-connectionChannelPoller和EPollPoller-Demultiplexstd::unordered_mapchannels_EventLoop-React
qq_42120843
·
2023-04-08 00:58
Muduo
网络编程
C/C++
服务器
linux
c++
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他