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
leveldb源码剖析
[数据结构笔记]SkipList跳表数据结构
前言之前在研究
LevelDB
的时候听说了这个数据结构,后面发现Redis中也用这个数据结构实现有序集合zset,研究了一下发现特别简单并且非常容易实现,所以记录一下,毕竟18年的最后一次学习!:)。
lambdacalculus
·
2023-10-27 16:26
常用NoSQL数据库的特点
用类JSON格式进行存储key_value存储Dynamo,
Leveldb
,Redis,TokyoCabinet,MemcacheDB具有极高的并发读写性能。通过key
ImWalkerKun
·
2023-10-27 05:31
数据库
数据库
NoSQL
golang基础数据结构
源码剖析
使用场景:协程通信,任务队列
源码剖析
:1623147385774.jpg如上图可以看出chanel的底层的组成,我们按着源码顺序解读,chanel的工作流程。
春风吹_918b
·
2023-10-27 02:11
Redis
源码剖析
之快速列表(quicklist)
@TOC何为quicklist,上次说到ziplist每次变更的时间复杂度都非常高,因为必须要重新生成一个新的ziplist来作为更新后的list,如果一个list非常大且更新频繁,那就会给redis带来非常大的负担。如何既保留ziplist的空间高效性,又能不让其更新复杂度过高?redis的作者给出的答案就是quicklist。其实说白了就是把ziplist和普通的双向链表结合起来。每个双链表节
xindoo
·
2023-10-27 01:59
c++内存管理第二讲 标准库的::allocator(一)
本文大部分内容转载于STD
源码剖析
并结合个人理解。
朱家小旺
·
2023-10-26 22:28
c++
muduo
源码剖析
之poller/EpollPoller多路复用类
简介poller是I/O多路复用接口抽象虚基类,对I/O多路复用API的封装,muduo提供了EPollPoller和PollPoller派生类(epoll和poll),所以不支持select.newDefaultPoller()默认选择epoll主要接口poll是Poller的核心功能,使用派生类的poll或者epoll_wait来阻塞等待IO事件发生通过派生类的实现来填充EventLoop的a
@新法
·
2023-10-26 20:51
muduo源码剖析
后端
服务器
linux
c语言
c++
muduo
源码剖析
Go sync.Pool 浅析
本篇文章会从使用方式,
源码剖析
,运用场景
煎鱼(EDDYCJY)
·
2023-10-26 08:03
java
python
人工智能
golang
编程语言
LSM树原理详解
LSM树(Log-Structured-Merge-Tree)的名字往往会给初识者一个错误的印象,事实上,LSM树并不像B+树、红黑树一样是一颗严格的树状数据结构,它其实是一种存储结构,目前HBase,
LevelDB
大隐隐于野
·
2023-10-25 21:32
#
Ceph
Rocksdb专栏
rocksdb
PyTorch学习 数据加载(Dataset、DataLoader)模块介绍及源码分析
数据加载(Dataset、DataLoader)模块介绍及源码分析DatasetDataLoaderDataLoader参数DataLoader
源码剖析
RandomSampler
源码剖析
SequentialSampler
YFCodeDream
·
2023-10-25 19:10
PyTorch
pytorch
学习
深度学习
owt-server
源码剖析
(一)--启动流程及相关模块介绍
目录一、引言二、框架------>2.1、模块介绍三、启动流程------>3.1、init-all.sh------>3.2、start-all.sh四、mongo------>4.1、命令行查看数据库内容------>4.2、initdb.js------------>4.2.1、连接到mongo数据库------------>4.2.2、房间信息的生成------------>4.2.3、配
文艺小少年
·
2023-10-25 06:51
rabbitmq
分布式
webrtc
服务器
刷完阿里 P8 架构师 spring 学习笔记 +
源码剖析
,涨薪 8K
文章目录关于Spring的叙述:第一份笔记Spring学习笔记第二份笔记:Spring源码关于Spring的叙述:我之前死磕spring的时候,刷各种资料看的我是一头雾水的,后面从阿里的P8架构师那里拿到这两份资料,从源码到案例详细的讲述了spring的各个细节,是我学Spring的启蒙资料,即便我现在在已经从事Java五六年了,但是每每掏出这份资料看都能再学到点新的知识。还记得当时磕完这份资料,
蒙娜丽莎的Java
·
2023-10-25 05:59
后端
学习路线
java
spring
java
spring
cloud
分布式
架构
muduo
源码剖析
之EventLoopThread
EventLoop的独立线程主要成员及属性解析意为I/O线程类,EventLoopThread可以创建一个IO线程,通过startLoop返回一个IO线程的loop,threadFunc中开启loop循环,
源码剖析
这个类比较简单
@新法
·
2023-10-25 01:07
muduo源码剖析
1024程序员节
服务器
后端
c++
c语言
linux
muduo
muduo
源码剖析
之EventLoopThreadPool
简介EventLoopThreadPool是EventLoopThread类的线程池类封装了若干个EventLoopThread的线程池,所有者是一个外部的EventLoopEventLoopThreadPool==EventLoopThread+vector主要成员及属性解析通过调用start函数来newEventLoopThread创建对应的线程和其loop,并将创建的保存在vector中源码
@新法
·
2023-10-25 01:57
muduo源码剖析
1024程序员节
linux
服务器
后端
c语言
网络编程
muduo
RocketMQ 过期文件删除机制
源码剖析
1.背景RocketMQ的存储文件主要分三种:CommitLog、ConsumeQueue、IndexFileRocketMQ的过期文件删除机制会定期删除已经过期的存储文件。当磁盘容量告急时,会立刻执行删除,释放磁盘空间。目前虽然有对于RocketMQ过期文件删除机制的文章,但我觉得没有讲的非常完善。本文详细分析一下三种存储文件的过期删除机制,避免一些坑。2.概述CommitLog、Consume
金甲虫Scarb
·
2023-10-24 23:12
RocketMQ
源码解析
分层剖析
RocketMQ
分布式
中间件
rocketmq
Spring循环依赖
源码剖析
Spring循环依赖
源码剖析
一、场景介绍二、整理执行流程总结三、源码分析编写测试类/***测试循环依赖*/@TestpublicvoidtestCyclicDependence(){ApplicationContextapplicationContext
穿城大饼
·
2023-10-24 20:57
开源框架源码剖析
spring
三级缓存
循环依赖
源码分析
集合详解(四)----HashSet和HashMap
源码剖析
(JDK1.7)
HashSetHashMapHashSet当初始化一个HashSet的时候,HashSet的底层实现其实是HashMap:privatetransientHashMapmap;publicHashSet(){map=newHashMapMAXIMUM_CAPACITY)//参数有效性检查initialCapacity=MAXIMUM_CAPACITY;if(loadFactor=initialCa
令仔很忙
·
2023-10-24 05:03
【JAVA】
集合
hashmap
源码
hashset
jdk
k8s-client-go
源码剖析
(二)
简介:云原生社区活动---Kubernetes
源码剖析
第一期第二周本周是K8S源码研习社第一期第二周,学习内容是学习Informer机制,本文以这个课题进行展开。
四颗咖啡豆LanLiang
·
2023-10-24 00:18
CloudNative
Kubernetes
kubernetes
go
源码
k8s
【JUC】AQS
源码剖析
AQS(AbstractQueuedSynchronizer)文章目录AQS(AbstractQueuedSynchronizer)1.概述2.AQS源码分析前置知识2.1AQS的int变量2.2AQS的CLH队列2.3内部类Node(Node类在AQS类内部)2.3小总结3.以ReentrantLock为突破口进行AQS源码分析3.1架构原理3.2lock()方法3.3AQS中的acquire(
比尔高特
·
2023-10-24 00:42
#
03
JUC
java
muduo
源码剖析
之EventLoop事件循环类
简介EventLoop.cc就相当于一个reactor,多线程之间的函数调用(用eventfd唤醒),epoll处理,超时队列处理,对channel的处理。运行loop的进程被称为IO线程,EventLoop提供了一些API确保相应函数在IO线程中调用,确保没有用互斥量保护的变量只能在IO线程中使用,也封装了超时队列的基本操作。成员及属性解析一个事件循环,注意,一个创建了EventLoop对象的线
@新法
·
2023-10-23 22:09
源码剖析
后端
服务器
linux
c语言
c++
muduo
源码剖析
Ubuntu caffe环境配置及安装过程中的问题
.caffe依赖环境2.caffe安装过程中遇到的问题1.caffe依赖环境官方依赖配置说明基础依赖Generaldependenciesprotobuf库及其编译器数据库相关库(HDF5、LMDB、
LevelDB
tao2882038
·
2023-10-23 06:36
caffe
caffe
Python Selenium.WebDriver 浏览器启动参数设置『Edge如何使用启动参数』
PythonSelenium.WebDriver浏览器启动参数设置『Edge如何使用启动参数』一、浏览器启动参数设置二、WebDriver实例化参数三、浏览器启动参数大全四、Edge浏览器使用启动参数与
源码剖析
五
XianZhe_
·
2023-10-22 23:30
Python
#
Python爬虫
1024程序员节
python
selenium
chrome
edge
muduo
源码剖析
之channel通道类
简介channel是muduo中的事件分发器,它只属于一个EventLoop,Channel类中保存着IO事件的类型以及对应的回调函数,每个channel只负责一个文件描述符,但它并不拥有这个文件描述符。channel是在epoll和TcpConnection之间起沟通作用,故也叫做通道,其它类通过调用channel的setCallbcak来和建立channel沟通关系。Channel类主要作用:
@新法
·
2023-10-22 21:18
源码剖析
服务器
后端
c++
c语言
linux
muduo
源码剖析
之AsyncLogging异步日志类
简介AsyncLogging是muduo的日志,程序如果直接让文件写日志可能会发生阻塞,muduo前端设计了2个BufferPtr,分别是currentBuffer_和nextBuffer_,还有一个存放BufferPtr的vector(buffers_)。多个前端线程往currentBuffer_写数据,currentBuffer_写满了将其放入buffers_,通知后端线程读。前端线程将cur
@新法
·
2023-10-22 21:18
源码剖析
muduo
linux
后端
服务器
c++
源码剖析
网络库
c++ std::lock与std::scoped_lock底层实现原理
源码剖析
std::lock用于同时获取多把锁(两把及两把以上)std::scoped_lock定义于c++17标准,是std::lock的RAII封装类以下代码纯来自msvc实现std::scoped_lock原型在构造函数中调用std::lock,在析构函数中unlockclass_NODISCARD_LOCKscoped_lock{//classwithdestructorthatunlocksmut
@新法
·
2023-10-22 21:47
c++并发编程
c++
开发语言
nginx内存池
源码剖析
在很多博客中都将nginx内存池的关系图的next指针指向的结构体画成ngx_pool_data_t类型(可能是为了方便读者理解而故意那样画的),但是通过源码可以看出,next实际指向实际上应该是ngx_pool_s类型,所以我特意找了一张符合源码结构的图nginx关于内存池的源码路径是src/core/目录下ngx_palloc.h和ngx_palloc.cpp文件相关结构体定义//大块内存ty
@新法
·
2023-10-22 21:47
源码剖析
nginx
缓存
c语言
io复用之epoll核心
源码剖析
绪论linuxepoll主要函数只有三个,分别为:epoll_create:创建epollpoll对象并初始化epoll_ctl:操作epollooll对象,增加,修改,删除epoll_wait:在epollpoll对象中返回活跃的事件操作系统内部会用到一个名叫epoll_event_callback()的回调函数来调度epoll对象中的事件,在网络中收到数据时就会调用源码来源由于epoll的实现
@新法
·
2023-10-22 21:47
源码剖析
c++
后端
linux
unix
c语言
RGW Bucket Shard优化
bucketindex是整个RGW里面一个非常关键的数据结构,用于存储bucket的索引数据,默认情况下单个bucket的index全部存储在一个shard文件(shard数量为0,主要以OMAP-keys方式存储在
leveldb
lihanglucien
·
2023-10-22 01:10
Go 存储系列:LSM存储引擎
LevelDB
概念介绍LSM-Tree被是一种面向写多读少应用场景的数据结构,被Hbase、RocksDB等强力NoSQL数据库采用作为底层文件组织方式。简单的LSM-Tree包含2层树状数据结构:Memtable并完全驻留在内存中(假设T0)SStables存储在磁盘中(假设T1)记录会先从memtableT0组件中读取,如果没有,则会从SStablesT1组件中读取新记录被插入到memtableT0组件中。
CoLiuRs
·
2023-10-21 19:51
golang
数据库
lsm-tree
【Netty专题】
源码剖析
netty核心基础ByteBuf
在面试的时候,当面试问到netty的时候问到:你知道jdknio中的ByteBuffer与netty中的ByteBuf有什么区别吗?来看看面试者的基础掌握的如何!你能准确回到出来个所以然吗?说到jdk我先说说我身边使用jdknio的情况;我现在公司就有个游戏项目是jdknio2一行一行实现的通讯架构,一直在线上运营,目前该架构单服承载最高的时候达到3000多人,没发现有什么性能瓶颈,当然人数可能还
饥饿小猪
·
2023-10-21 10:35
Python
源码剖析
:深度探索Cpython对象-达观数据
CPython是Python社区的标准,其他版本的Python,比如pypy,都会遵行CPython的标准API实现。想要更深入的认识Python,就需要了解CPython的源码实现。本文将从CPython的对象构造器开始入手,带大家揭开CPython源码的面纱,带你进入C+Python的世界。文章的最后,你也会对Python中最重要的概念:一切皆对象(Object)有更深刻的认识;你还会发现一些
AI界小学生
·
2023-10-21 10:17
java
jvm
linux
Mybatis
源码剖析
-- 延迟加载
一、什么是延迟加载在开发过程中,假设有一个用户信息类,映射多个订单信息类立即加载:如果每次加载用户信息的同时就加载这个用户下的所有订单信息,那么这就叫做立即加载延迟加载:查询用户信息的时候仅仅只查询用户信息,等什么时候需要用到其订单信息的时候再去查询这个用户下的所有订单信息,这就叫延迟加载举个例子问题在一对多中,当我们有⼀个用户,它有个100个订单在查询用户的时候,要不要把关联的订单查出来?在查询
Travis_Wu
·
2023-10-20 11:50
关于C++编译静态模板成员数据出错 Too few template-parameter-lists
学习侯捷大师《STL
源码剖析
》的时候在用GCC编译P27的__STL_STATIC_TEMPLATE_MEMBER_BUG测试代码:01#include02usingnamespacestd;0304template05classTestClass06
纯白色的罗
·
2023-10-20 02:19
《STL源码剖析》
C++进阶笔记
C++进阶笔记C++:C++语言C++标准库推荐书籍:《EffectiveC++》《C++primer》《STL
源码剖析
》C:Type(built-in,struct)dataFunctionC++面向对象数据和函数包在一起
陈william
·
2023-10-19 21:15
C++
源码剖析
Android ANR产生机制
源码剖析
AndroidANR产生机制如下采用Android源码的android-11.0.0_r48分支进行,不同版本源码差异巨大。
xt_xiaotian
·
2023-10-18 17:49
移动开发
Android
ANR
android
ui
java
grpc-go
源码剖析
三之grpc客户端跟grpc服务器端是如何建立起链接的?
想了解等多内容,可在某度搜索grpc-go
源码剖析
与实战即可 grpc客户端如果想访问远程grpc服务器端的某个方法的话,首先得有一个基本的链接吧,有了链接,才能进行数据的传输; 因此,本篇文章主要是分享一下
码二哥
·
2023-10-18 07:27
【C++ 学习 ㉘】- 详解 C++11 的列表初始化
目录一、C++11简介二、列表初始化2.1-统一初始化2.2-列表初始化的使用细节2.2.1-聚合类型的定义2.2.2-注意事项2.3-initializer_list2.3.1-基本使用2.3.2-
源码剖析
一
melonyzzZ
·
2023-10-18 06:43
C++
c++
学习
开发语言
WebRTC ULPFEC
FEC基本原理三.ULPFEC1.ULPFEC基础理论2.ULPFEC报文格式RTPHeaderFECHeaderFECLevelHeaderFECLevelPayload四.WebRTCULPFEC实现
源码剖析
椛茶
·
2023-10-17 17:00
WebRTC
webrtc
fec
ulpfec
qos
深入浅出 Vue 响应式原理
源码剖析
先看张图,了解一下大体流程和要做的事初始化在newVue初始化的时候,会对我们组件的数据props和data进行初始化,由于本文主要就是介绍响应式,所以其他的不做过多说明来,看一下源码源码地址:src/core/instance/init.js-15行exportfunctioninitMixin(Vue:Class){//在原型上添加_init方法Vue.prototype._init=func
IT沐华
·
2023-10-17 11:21
java
LevelDB
工具类
POM依赖org.iq80.
leveldb
leveldb
-api0.12org.iq80.
leveldb
leveldb
0.12工具类packagecom.sec.iot.util;importorg.apache.commons.lang3
码灵
·
2023-10-16 20:17
java
数据库
java
leveldb
python
源码剖析
—— python中的字节码对象初探
一.代码对象每个初学python的人都会认为python是一种解释型语言,这个不能说错。但是python并不是真的对执行的python代码的每一行进行解释,虽然我们有一个所谓的“解释器”。实际上对于运行的文件,python会使用虚拟机对运行的文件编译成字节码,然后虚拟机会对产生的字节码进行解释。而编译语言则会编译出适用于x86、ARM等的指令2(作用于真正的机器)的语言。“解释性”语言不是根本就没
莫彩
·
2023-10-16 06:09
python
进阶
python
开发语言
Zookeeper集群Leader选举
源码剖析
文章目录1、从源码启动zookeeper2、从源码启动zookeeper集群3、leader选举多层队列架构1、从源码启动zookeeper//选择分支3.5.8https://github.com/apache/zookeeper.git源码导入idea后,org.apache.zookeeper.Version类会报错,需要建一个辅助类packageorg.apache.zookeeper.v
Tacy0213
·
2023-10-16 04:35
ZK&Netty
zookeeper
分布式
云原生
五:Zookeeper分布式一致性协议ZAB
源码剖析
目录ZAB协议介绍消息广播崩溃恢复数据同步ZAB写数据源码流程图整个Zookeeper就是一个多节点分布式一致性算法的实现,底层采用的实现协议是ZAB。ZAB协议介绍ZAB协议全称:ZookeeperAtomicBroadcast(Zookeeper原子广播协议)。Zookeeper是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面,Zookeeper并没有使用Paxos,而
PoetryAndTheDistance
·
2023-10-16 04:04
Zookeeper学习之路
zookeeper
05-Zookeeper分布式一致性协议ZAB
源码剖析
整个Zookeeper就是一个多节点分布式一致性算法的实现,底层采用的实现协议是ZAB。ZAB协议介绍ZAB协议全称:ZookeeperAtomicBroadcast(Zookeeper原子广播协议)。Zookeeper是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面,Zookeeper并没有使用Paxos,而是采用了ZAB协议,ZAB是Paxos算法的一种简化实现。ZAB
Joanna_or_zhouzhou
·
2023-10-16 04:34
java分布式
分布式
zookeeper
java
Zookeeper分布式一致性协议ZAB
源码剖析
文章目录1、ZAB协议介绍2、消息广播1、ZAB协议介绍ZAB协议全称:ZookeeperAtomicBroadcast(Zookeeper原子广播协议)。Zookeeper是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面,Zookeeper并没有使用Paxos,而是采用了ZAB协议,ZAB是Paxos算法的一种简化实现。ZAB协议定义:ZAB协议是为分布式协调服务Zook
Tacy0213
·
2023-10-16 04:02
ZK&Netty
分布式
zookeeper
云原生
String、StringBuilder、StringBuffer区别
后续会从底层
源码剖析
区别,喜欢的小伙伴关注一下!测试代码/***@author寸铁*
寸_铁
·
2023-10-16 00:25
八股
java
String
StringBuilder
StringBuffer
效率
测试
c++的线程安全静态检查
在阅读
leveldb
源码的过程中,发现很多成员变量被GUARDED_BY修饰,如下:structIterState{port::Mutex*constmu;Version*constversionGUARDED_BY
杰特JET
·
2023-10-14 20:49
C/C++技术
c++
clang
【设计模式】七、适配器模式
文章目录现实生活中的适配器例子基本介绍工作原理举例:类适配器模式类适配器模式介绍类适配器模式应用实例举例:对象适配器模式基本思路对象适配器模式应用实例举例:接口适配器模式接口适配器模式应用实例适配器模式在SpringMVC框架应用的
源码剖析
适配器模式的注意事项和细节现实生活中的适配器例子泰国插座用的是两孔的
Lucky_Turtle
·
2023-10-14 15:10
设计模式
设计模式
适配器模式
Swoft源码之Swoole和Swoft的分析(life)
这篇文章给大家分享的内容是关于Swoft
源码剖析
之Swoole和Swoft的一些介绍(Task投递/定时任务篇),有一定的参考价值,有需要的朋友可以参考一下。
程序员的生活1
·
2023-10-14 13:15
PHP学习
PHP开发
PHP
[由零开始]Tair 介绍和使用
存储引擎服务器端自动负载均衡分为持久化和非持久化两种方式存储非持久化:分布式缓存使用Memcached(mdb)、Redis(rdb)持久化:SQL-DB使用FireBird(fdb)NoSQL-DB:使用KyotoCabinet(kdb)、
LevelDB
可乐Vayne
·
2023-10-14 10:11
缓存
redis
Guava
《Spring》第十二篇 推断构造方法机制
(二)如果开发者没有指定想要使用的构造方法,则看开发者有没有让Spring自动去选择构造方法(三)如果开发者既不指定使用哪个构造函数,也没有让Spring自动去选择构造方法3.初步猜想总结二.
源码剖析
三
搬砖界的小白
·
2023-10-13 20:56
源码框架
#
Spring
spring
java
后端
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他