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网络库源码剖析
【Mybatis
源码剖析
】Spring中获取 Mybatis Mapper接口(注解Autowired),并调用过程剖析
程序中获取Mapper接口实例的调用过程//注解Autowired时,通过getObject()获取对应接口实例Torg.mybatis.spring.mapper.MapperFactoryBean.getObject()throwsException//SqlSessionTemplate=newSqlSessionTemplate(sqlSessionFactory)Torg.mybatis
ipple1986
·
2020-07-13 02:36
JAVA
【Redis
源码剖析
】 - Redis内置数据结构之双向链表list
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50938028Redis
源码剖析
系列文章汇总:传送门在《Redis学习笔记》系列的前面几篇文章中
Fred^_^
·
2020-07-13 01:57
Redis源码剖析
Redis
源码剖析
——adlist的实现
adlistadlist为Redis基本数据结构之一,为双向链表,记录了链表长度,adlist的迭代器记录了迭代节点和方向,个人觉得实现优于STL的list几个重要结构adlist实现比较精简,基本上写过链表相关的代码就能很快写出所有实现函数/**双端链表节点*/typedefstructlistNode{//前置节点structlistNode*prev;//后置节点structlistNode
Coding_Reading
·
2020-07-13 01:53
Redis源码剖析
Redis过期键删除策略及
源码剖析
一、什么是过期键,过期键怎么存储的Redis是可以给键值对设置过期时间的,这个事通过EXPIRE,PEXPIRE,EXPIREAT,PEXPIREAT这四个命令来实现的。Redis数据库主要是由两个字典构成的,一个字典保存键值对,另一个字典就是保存的过期键的过期时间,我们称这个字典叫过期字典。typedefstructredisDb{dict*dict;dict*expires;....}二、过期
PinkFriday
·
2020-07-13 01:48
redis
Muduo网络库
源码分析(三)线程间使用eventfd通信和EventLoop::runInLoop系列函数
先说第一点,线程(进程)间通信有很多种方式(pipe,socketpair),为什么这里选择eventfd?eventfd是一个比pipe更高效的线程间事件通知机制,一方面它比pipe少用一个filedescripor,节省了资源;另一方面,eventfd的缓冲区管理也简单得多,全部“buffer”只有定长8bytes,不像pipe那样可能有不定长的真正buffer。最重要的一点:当我们想要编写并
NK_test
·
2020-07-13 01:44
Linux基础及编程
Muduo源码分析
Java锁机制了解一下
Thread
源码剖析
多线程基础必要知识点!看了学习多线程事半功倍只有光头才能变强!
Java3y
·
2020-07-12 23:26
视频教程-通俗易懂的Netty从入门到
源码剖析
教程-Java
通俗易懂的Netty从入门到
源码剖析
教程张长志技术全才、擅长领域:区块链、大数据、Java等。10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业。
weixin_33810307
·
2020-07-12 23:59
05Vue
源码剖析
2
Vue
源码剖析
2异步更新队列Vue高效的秘诀是一套批量、异步的更新策略概念解释image.png事件循环EventLoop:浏览器为了协调事件处理、脚本执行、网络请求和渲染等任务而制定的工作机制。
LM林慕
·
2020-07-12 22:56
老卫带你学---python中heapq
源码剖析
这是一个相当实用的内置模块,但是很多人竟然不知道他的存在——笔者也是今天偶然看到的,哎……尽管如此,还是改变不了这个模块好用的事实heapq模块实现了适用于Python列表的最小堆排序算法。堆是一个树状的数据结构,其中的子节点都与父母排序顺序关系。因为堆排序中的树是满二叉树,因此可以用列表来表示树的结构,使得元素N的子元素位于2N+1和2N+2的位置(对于从零开始的索引)。本文内容将分为三个部分,
老卫带你学
·
2020-07-12 18:22
python
数据结构与基础算法
【Linux 内核网络协议栈
源码剖析
】网络栈主要结构介绍(socket、sock、sk_buff,etc)
通过前面的分析,可以发现,网络协议栈中的数据处理,都是基于各类结构体,所有有关于网络栈中数据包的状态,地址,端口等信息都封装在对应的结构中,可以说,了解这些数据结构是理解网络栈源码的基础,这里我们就来了解下网络协议栈中的各类数据结构。Linux1.2.131、socket(include\linux\Socket.h)该结构体socket主要使用在BSDsocket层,是最上层的结构,在INETs
selfimpr1991
·
2020-07-12 18:03
TCP/IP
OpenSource
Java高并发编程之第一阶段,多线程基础深入浅出
汪文君高并发编程第一阶段01讲-课程大纲及主要内容介绍汪文君高并发编程第一阶段02讲-简单介绍什么是线程汪文君高并发编程第一阶段03讲-创建并启动线程汪文君高并发编程第一阶段04讲-线程生命周期以及start方法
源码剖析
汪文君高并发编程第一阶段
FireOct
·
2020-07-12 18:05
教程
Apache Flink fault tolerance
源码剖析
(六)
上篇文章我们分析了基于检查点的用户状态的保存机制——状态终端。这篇文章我们来分析barrier(中文常译为栅栏或者屏障,为了避免引入名称争议,此处仍用英文表示)。检查点的barrier是提供exactlyonce一致性保证的主要保证机制。这篇文章我们会就此展开分析。这篇文章我们侧重于核心代码分析,原理我们在这个系列的第一篇文章《Flink数据流的FaultTolerance机制》一致性保证Flin
vinoYang
·
2020-07-12 17:57
【Flink】
Apache
Flink
WebViewJavaScriptBridge
源码剖析
亲,我的已不再维护和更新了,所有文章都迁移到了我的个人博客:https://mikefighting.github.io/,欢迎交流。WebViewJavaScriptBridge是IOS中JS和OC交互的常用框架,它利用block的形式处理回调(相关Demo已上传),支持以下两种调用:基本用法它的两种使用场景如下:WebViewJavaScriptBridge使用场景1.OC端的方法如下Meth
击水湘江
·
2020-07-12 17:36
azkaban ExecutorManager
源码剖析
azkaban有三大模块,azkaban-common,azkaban-exec-server,azkaban-web-server.azkaban-common是公共模块,比如访问数据库,trigger管理工具,邮件工具,以及job.azkaban-exec-server是执行器,主要用于执行任务azkaban-web-server是调度中心,用于任务展示、编辑,调度任务azkaban-comm
wangqiaoshi
·
2020-07-12 17:12
《Python
源码剖析
》读书笔记
《Python
源码剖析
》电子书下载http://download.csdn.net/detail/xiarendeniao/5130403Python源码在官网有下载链接,用ctags-R*来建符号链接
吓人的鸟
·
2020-07-12 16:42
代码库/程序片段
编程语言-python
CHROME
源码剖析
上《转》
说明:此Chrome
源码剖析
很大一部分编辑整理自此博客:http://flyvenus.net/。我对写原创文章的作者向来是以最
wz5891
·
2020-07-12 16:51
Chromium
chrome
JAVA23种设计模式综合项目(实战),设计模式综合应用的实战案例视频教程,软件系统功能设计(实战)训练(6个设计案例)
JAVA23种设计模式综合项目(实战),设计模式综合应用的实战案例视频教程,软件系统功能设计(实战)训练(6个设计案例)全新JAVA高级架构师,微服务架构,亿级高并发,分布式架构,
源码剖析
系列,项目实战
乐安的水桃
·
2020-07-12 13:53
UNIX V6内核
源码剖析
——unix v6 全貌
1.UNIXV6运行硬件环境——PDP-11/40PDP-11/40指令和数据都是以16比特为单位。对它而言,一个字的宽度为16比特。PDP-11/40以及周边设备的寄存器被映射到内存最高位的8K空间(内存映射IO)。利用内存映射IO,可以通过操作内存来访问寄存器。如下:1#defineREG_ADDRESS017000023struct{4intinteg;5};67main()8{9inta;
weixin_30448603
·
2020-07-12 06:07
《STL
源码剖析
》学习之迭代器
一、迭代器作用在设计模式中有一种模式叫迭代器模式,简单来说就是提供一种方法,在不需要暴露某个容器的内部表现形式情况下,使之能依次访问该容器中的各个元素,这种设计思维在STL中得到了广泛的应用,是STL的关键所在,通过迭代器,容器和算法可以有机的粘合在一起,只要对算法给予不同的迭代器,就可以对不同容器进行相同的操作。在这里提到了一个叫迭代器的东西,说得简单一点,就是一种指针,学习C和C++的同学肯定
shudou
·
2020-07-11 22:46
STL
muduo网络库
源码复现笔记(十三):base库的Logging.h
Muduo网络库
简介muduo是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-07-11 20:10
muduo
c++
linux
后端
muduo
网络库
muduo
网络库
网络编程
Linux内存管理
源码剖析
(一)
1.独占空间的原理2.虚拟内存的划分方式3.Linux虚拟地址与物理地址的转换4.从mm_struct结构开始讨论进程虚拟空间布局(1)用户态空间的布局(2)内核态空间的布局5.sys_brk系统调用
源码剖析
神仙404
·
2020-07-11 19:29
Linux源码剖析
5 Django CBV源码 模板层 过滤器 模板继承
Django1CBV
源码剖析
路由层urls.pyfromapp01importviewsurlpatterns=[url(r'^admin/',admin.site.urls),#CBV源码突破口url
KenkouF
·
2020-07-11 18:18
Django学习
python
django
源码剖析
CommonsMultipartResolver解释parseRequest无法获得FileItem
相信在Javaweb做文件上传的时候大家都用到commons-fileupload这个组件,使用这个组件实现文件上传时都会用到这句代码Listlist=servletFileUpload.parseRequest(request);,意思是解析从客户端发送到服务器的request请求(Form表单)得到一个FileItem的List集合,这样每个FileItem都可以简单地通过封装好的方法获得文件
黄复贵
·
2020-07-11 16:02
Javaweb
4.1.36这篇netty讲懂了-- Netty
源码剖析
NettyServer端源码根据代码演示分析publicstaticvoidmain(String[]args)throwsInterruptedException{EventLoopGroupparentGroup=newNioEventLoopGroup();EventLoopGroupchildGroup=newNioEventLoopGroup();try{ServerBootstrapb
一只勤奋的小猪
·
2020-07-11 16:17
netty
Django
源码剖析
Django运行原理理清三个类关系WSGIServerWSGIRequestHandler(__init__中负责调用application(environ)WSGIHandler(内部定义__call__)1WSGIServerlisten,select,process_requestWSGIServer.RequestHandlerClass=WSGIRequestHandlerWSGISer
皮子2
·
2020-07-11 14:07
python
风云lua分析-Lua GC 的
源码剖析
(5)
已下内容转载自https://blog.codingnow.com/2011/03/lua_gc_5.html今天来说说writebarrier。在GC的扫描过程中,由于分步执行,难免会出现少描了一半时,那些已经被置黑的对象又被修改,需要重新标记的情况。这就需要在改写对象时,建立writebarrier。在扫描过程中触发writebarrier的操作影响的对象被正确染色,或是把需要再染色的对象记录
shankusu2017
·
2020-07-11 14:22
Lua源码学习-github
风云lua分析-Lua GC 的
源码剖析
(4)
以下内容转载自https://blog.codingnow.com/2011/03/lua_gc_4.html今天来看一下mark过程是怎样实现的。所有的GC流程,都从singlestep函数开始。singlestep就是一个最简单的状态机。GC状态简单的从一个状态切换到下一个状态,循环不止。状态标识放在globalstate的gcstate域中。这一点前面谈过。开始的两个状态和mark过程有关。
shankusu2017
·
2020-07-11 14:22
Lua源码学习-github
风云lua分析-Lua GC 的
源码剖析
(2)
以下内容转载自https://blog.codingnow.com/2011/03/lua_gc_2.html早期的LuaGC采用的是stoptheworld的实现。一旦发生gc就需要等待整个gc流程走完。如果你用lua处理较少量数据,或是数据增删不频繁,这样做不是问题。但当处理的数据量变大时,对于实时性要求较高的应用,比如网络游戏服务器,这个代价则是不可忽略的。lua本身是个很精简的系统,但不代
shankusu2017
·
2020-07-11 14:22
Lua源码学习-github
lua
风云lua分析-Lua GC 的
源码剖析
(3)
以下内容转载自https://blog.codingnow.com/2011/03/lua_gc_3.html有了前几天的基础,我们可以从顶向下来读luagc部分的代码了。我们知道,lua对外的API中,一切个gc打交道的都通过lua_gc。C语言构建系统时,一般不讲设计模式。但模式还是存在的。若要按《设计模式》中的分类,这应该归于Facade模式。代码在lapi.c的895行:/***Garba
shankusu2017
·
2020-07-11 14:22
Lua源码学习-github
【转】Go Interface
源码剖析
源网址:http://legendtkl.com/2017/07/01/golang-interface-implement/0.引言在上一篇文章《深入理解GoInterface》中从设计和使用的角度介绍了Golang的interface,作为补充,这篇文章将从源码级别来看看interface的具体实现。所有源码分析都是基于Go1.8.3。在开始之前,我们先看一个例子。funcFoo(xinter
lpxxn
·
2020-07-11 13:41
Skynet服务器框架(二) C
源码剖析
启动流程
引言:之前我们已经完成了在Linux下配置安装skynet的环境,并成功启动了skynet服务框架,为了从底层更好地理解整个框架的实现过程,我们有必要剖析一下源码,由于底层的源码都是用C语言写的,lua脚本基本是用来进行业务层开发,所以我们从C源码开始解读框架。打开下载包的skynet-src目录,这里是skynet框架的核心C源码,接下来我们就要来解读skynet_main.c和skynet_s
河乐不为
·
2020-07-11 11:46
Skynet框架
skynet服务器框架解读
Skynet服务器框架(四) Lua服务创建和启动剖析
前言:之前从Skynet启动过程,解读了skynet的启动部分C语言编写的底层源码Skynet服务器框架(二)C
源码剖析
启动流程,最后成功启动了引导的lua服务bootstrap.lua,接下来我们要尝试自定义一个
河乐不为
·
2020-07-11 11:46
Skynet框架
skynet服务器框架解读
lua
bootstrap
框架
C++中泛型相应型别的获取
写在前面在《STL
源码剖析
》中的第三章迭代器部分说到,在C++中STL的容器和算法是分开的,他们之间的连接是通过每一个容器所对应的迭代器(Iterator),那么在STL对应的算法中我们就会用到迭代器其相应的型别
阿_波_
·
2020-07-11 10:34
STL
【
源码剖析
】MemoryPool —— 简单高效的内存池 allocator 实现
什么是内存池?什么是C++的allocator?内存池简单说,是为了减少频繁使用malloc/freenew/delete等系统调用而造成的性能损耗而设计的。当我们的程序需要频繁地申请和释放内存时,频繁地使用内存管理的系统调用可能会造成性能的瓶颈,嗯,是可能,毕竟操作系统的设计也不是盖的(麻麻说把话说太满会被打脸的(⊙v⊙))。内存池的思想是申请较大的一块内存(不够时继续申请),之后把内存管理放在
一线涯
·
2020-07-11 09:18
开源项目
Linux
C/C++
tomcat 责任链设计模式 底层
源码剖析
今天晚上花了些时间debug了下tomcat,注意观察了下tomcat内部过滤器的实现,其实tomcat内部过滤器采用了责任链的设计模式,(其实struts2拦截器那一块采用了相似的设计模式),以下是个人对源码的解读,ApplicationFilterChain详解首先是对该类的定义的介绍/***Implementationofjavax.servlet.FilterChainusedtomana
javapolo
·
2020-07-11 09:07
tomcat
设计模式
Flask框架详细上下文管理机制
文件夹为某一个蓝图内所有URL路由访问地址加前缀before_request--访问URL先触发四、子域名一般固定子域名通配符子域*五、threading.local--(和flask没有关系)*六、请求上下文管理(
源码剖析
gao.xiangyang
·
2020-07-11 06:47
Python
falsk
python
hadoop
源码剖析
--hdfs安全模式
一、什么是安全模式hadoop安全模式是namenode的一种状态,处于该状态时有种量特性:1.namenode不接受任何对hfds文件系统的改变操作(即此时整个文件系统处于只读状态);2.不执行block的replica和delete动作。二、安全模式的原理安全模式实在namenode启动时默认进入的,当然也可以手动开启或关闭安全模式。在namenode启动后自动进入安全模式,这时datanod
dgit3228
·
2020-07-11 05:33
Django框架-源码-02cbv
源码剖析
CBV实现类需要继承VIEW,会返回view,对应路由的类名,as_view它对应的是一个类方法,传入实例化对象判断对象是否有get和没有head,给head=get,然后复制,代码健壮性校验,之后进去dispatch函数,最终结果都有dispatch决定对应request.method.lower()获取对应是否在默认范围内,在的话getatter获取对应函数,否则就对应错误,handler(分
dengzhinang2649
·
2020-07-11 05:22
【
源码剖析
2】framework 源码 2——UserManagerService之多用户的创建createUser详解
上文提到创建用户的方法:UserManagermUserManager=(UserManager)context.getSystemService(Context.USER_SERVICE);UserInfonewUserInfo=mUserManager.createUser(“用户名”,0);入口代码是UserManagerService中的createUser。publicUserInfoc
帝求仁
·
2020-07-11 04:04
源码剖析
MudOS简单
源码剖析
暂时没任务,了解一下MudOS的源码。推荐使用vim来看,搭配上ctags插件跳转函数定义。下面先来讲一讲数据类型:array、mapping、string。arrayarray类似于其他语言中线性表的概念,比如说:c++语言的vector、python的list。array.h中定义了结构体array_t,array_t就是主要的存储数据的类型:typedefstructarray_s{unsi
1angxi
·
2020-07-11 01:46
STL
源码剖析
——内存空间管理
STL内存空间管理工具alloc1.第一级配置器__malloc_alloc_templatestaicvoid*allocate(size_tn){void*result=malloc(n);//直接调用mallocif(0==n)result=oom_malloc(n);returnresult;}staticvoid*deallocate(void*p,size_tn){free(p);}s
Coding_Reading
·
2020-07-10 23:45
C++
STL源码剖析
leveldb
源码剖析
--TableBuilder生成磁盘sstable
SSTabletable由按照rowkey排序后划分出的子片tablet组成,所以tablet是逻辑概念,tablet要持久化到GFS文件,每个文件称为SSTable.TableBuilder将数据写入磁盘生成sstable的工作由TableBuilder类完成。顾名思义,TableBuilder负责中封装了sstable的生成格式,它对用户的接口主要是voidAdd(constSlice&key
Alex_1799
·
2020-07-10 22:02
学习STL,实现一个单链表的迭代器
STL
源码剖析
中,空间配置器和迭代器属于比较晦涩难懂的两章,这里学习了STL迭代器后也尝试自己写一个迭代器,实现单链表的迭代器,实现不难,可以说是一个玩具而已,但是能够帮助我们理解STL迭代器的基本原理
奔跑的小河
·
2020-07-10 20:42
数据结构
C++ typedef typename 作用
参考《STL
源码剖析
》不难发现,其实:```templateclassvector{public://...
路之遥_其漫漫
·
2020-07-10 20:38
C++
openfoam学习心得—动网格
源码剖析
在openfoamV7pimpleFoam求解器代码中,有以下代码,用于处理动网格:#include"dynamicFvMesh.H"#include"createDynamicFvMesh.H"--展开后如下:InfomeshPtr(dynamicFvMesh::New(IOobject(dynamicFvMesh::defaultRegion,runTime.timeName(),runTim
小何爱学习
·
2020-07-10 19:34
源码剖析
transformer、self-attention(自注意力机制)、bert原理!
首先给大家引入一个github博客,这份代码是我在看了4份transformer的源码后选出来的,这位作者的写法非常易懂,代码质量比较高。https://github.com/Separius/BERT-keras这篇文章主要跟大家分享四个点:多头机制(multi-head)、LN和GELU、位置编码。在这再给大家安利几篇博客,便于大家更具体的理解自注意力的内在原理。https://zhuanla
罗小丰同学
·
2020-07-10 19:29
Unix V6 环境搭建:Simh 安装 Unix V6、Unix V6 基本使用以及源代码获取
一、引言最近心血来潮看到了一本有意思的书:《Unix内核
源码剖析
》。这本书有意思之处在于,作者的研究对象是UnixV6。
曾经去过跨越一个小时的地方
·
2020-07-10 18:48
linux
Unix
V6
PDP-11
Simh
Unix内核源码剖析
Unix
理解Android进程创建流程
基于Android6.0的
源码剖析
,分析Android进程是如何一步步创建的,本文涉及到的源码:/frameworks/base/core/java/android/os/Process.java/frameworks
东方潮汐
·
2020-07-10 16:46
移动开发
OkHttp
源码剖析
系列(六)——连接复用机制及连接的建立
系列索引本系列文章基于OkHttp3.14OkHttp
源码剖析
系列(一)——请求的发起及拦截器机制概述OkHttp
源码剖析
系列(二)——拦截器大体流程分析OkHttp
源码剖析
系列(三)——缓存机制分析OkHttp
N0tExpectErr0r
·
2020-07-10 14:01
从腾讯VasSonic
源码剖析
到webview优化的思考
提到android的webView,我想大家对它都有点恨之入骨,因为它和ios的UIWebView的性能实在差的太远了,尤其在4.4以下,加载个页面慢的要死,出现白屏时间过长、没有网络的时候加载直接给你加载出内核自带的页面等等,如果对它不管的话体验实在是太差了,作为一个优秀的程序员,这些事情是无法忍受的,那么怎么才能让webview的加载速度变快呢,这得想一下到底是什么造成了h5界面加载慢,h5里
飞雨的夏天
·
2020-07-10 12:53
android性能优化
上一页
41
42
43
44
45
46
47
48
下一页
按字母分类:
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
其他