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
源码研究
Nginx
源码研究
之nginx限流模块详解
这篇文章主要介绍了Nginx
源码研究
之nginx限流模块详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
03ngnntds
·
2020-04-02 05:01
Redis中国用户组|9月7日分享来袭《唯品会多线程redis设计与实现》
嘉宾介绍:申政,开源爱好者,唯品会高级DBA,主要负责Redis相关领域的
源码研究
和研发工作。
dd92c2f421e3
·
2020-03-26 10:52
比特币源码分析(1)---比特币的构建
那么其代码还是需要深入的研究的,所以我最近准备把区块链源码好好看看,后续的很多平台都是有比特币的影子,这样以后做平台开发或者DAPP开发能够有着更深的认识前言其实我也是去看了别人的一些建议,然后再去做的肯能会少走点弯路比特币
源码研究
比特
freelands
·
2020-03-25 16:28
Redis
源码研究
之订阅与发布
本文主要说明Redis的两种订阅模式的实现。建议阅读:1、Redis订阅与发布理论说明见:Redis之发布与订阅I、上帝视角1.1两种模式Redis具有两种订阅模式,分别为频道(channel)订阅,与模式(pattern)订阅,这部分内容可以参见建议阅读部分。1.2数据结构1、structredisServer中维护了所有频道和订阅频道的客户端:/*src/redis.h/redisServer
wenmingxing
·
2020-03-25 14:26
python
源码研究
之整型对象探索
1.python的整型对象是PyIntObject对象,这个对象是一个不可变对象,即没有ob_size这个变量,这个对象在c层面实现,只是在基本的pyobject中添加了longob_ival对象,结构体大概是这样的:typedefstruct{PyObject_HEAD;longib_ival}PyIntObject;而这个对象对应的类型变量就比较复杂了,很长:这里面就是int这个类型的一下名称
QA浪涛
·
2020-03-21 13:53
发现意外之美 - SwiftyJSON 源码学习 | 咖啡时间
SwiftyJSON很适合我们做
源码研究
。首先,它的代码量很少,整个库只有一个代码文件。这样我们就能很快的了解它的整体结构。另外,虽然它的
SwiftCafe
·
2020-03-21 05:47
源码分析 Sentinel 之 Dubbo 适配原理
sentinel-apache-dubbo-adapter比较简单,展开如下:上面的代码应该比较简单,在正式进入
源码研究
之前,我先抛出如下二个问题:1
中间件兴趣圈
·
2020-03-19 21:00
Redis
源码研究
之监视器
本文主要说明Redis监视器的实现代码。I、监视器理论部分1、客户端通过执行MONITOR命令可以将自己变为一个监视器,实时地接受并打印出服务器当前处理的命令请求的相关信息,如:此时,当其他客户端向服务器发送一条命令请求时,服务器除了会处理这条命令请求之外,还会将这条命令请求的信息发送给所有监视器:II、代码实现2.1成为监视器redisServer维护一个monitors的链表,记录自己的监视器
wenmingxing
·
2020-03-16 03:36
Yii2框架
源码研究
2-Component
Component继承自Object,因此他具有属性这个特性,在这个基础上,组件提供了两个功能强大的特性:事件和行为。也就是说,如果一个类继承了Component类,他就具有这些特性,就能够给这个类的对象绑定事件和行为。事件的作用是在某一个特殊的场合,执行某段代码。一个事件通常包含以下几个要素:这是一个什么事件谁触发了事件谁去处理事件怎么处理这个事件处理事件相关的数据是什么行为的作用是让某一个对象
Vos井宝
·
2020-03-12 23:43
BitSet的
源码研究
这几天看BloomFilter,因为在java中,并不能像C/C++一样直接操纵bit级别的数据,所以只能另想办法替代:1)使用整数数组来替代;2)使用BitSet;BitSet实际是由“二进制位”构成的一个Vector。如果希望高效率地保存大量“开-关”信息,就应使用BitSet。它只有从尺寸的角度看才有意义;如果希望的高效率的访问,那么它的速度会比使用一些固有类型的数组慢一些。BitSet的大
小陈阿飞
·
2020-03-04 06:19
Dubbo
源码研究
一、Dubbo服务暴露前奏读取解析SpringBean,的解析利用的是Spring可扩展的schema机制。Spring的可扩展schema机制允许用户自定义标签,并配置自定义标签的处理器NamespaceHandler处理标签配置,比如初始化组件等。Spring中与这个机制相关的类是NamespaceHandlerSupport.java。大家在配置时需要在配置文件上面的标签头中引入xmlns:
洪阿南
·
2020-03-01 20:51
Android_Notificaiton
源码研究
一,研究背景:起点Android客户端670版本有个需求,就是游戏下载在通知栏显示。为了把其功能实现的优雅,特此对此知识进行一番深入的研究,希望达到的目的是实现多样化的通知,应付各种先关需求变化。二,结构图:Notification大家都不陌生,其实用起来也很简单,有关工作原理如下:通过以上简单的结构图不难看出,这个Notification的生命周期其实是一个sevice的生命周期,全权有Noti
最有文化的码农
·
2020-03-01 01:55
MOSN 源码分析 - 共享内存模型
原文链接:https://trainyao.github.io/post/mosn/source_shm/本文记录了对MOSN的
源码研究
-MOSN的共享内存模型。
trainyao
·
2020-02-26 23:16
Redis
源码研究
之事务
本文主要说明Redis事务功能的实现。建议阅读:1、Redis事务的理论介绍见:Redis之事务实现I、上帝视角1、Redis通过一组命令来实现事务:·MULTI,开启一个事务;·EXEC,执行事务;·DISCARD,取消事务;·WATCH,监视某一个键值对,如果被修改则事务会被取消,这是一个乐观锁。II、事务命令队列1、Redis服务器收到来自客户端的MULTI命令后,为客户端维护一个命令队列结
wenmingxing
·
2020-02-25 23:54
Retrofit源码学习梳理
Retrofit已经出来很多时间了,项目中也一直在用,只知道它的功能强大,不知其原理,这不是一个号的开发,所以最近一段时间把retrofit
源码研究
了一下。我们先从它的功能说起。
三季人
·
2020-02-23 16:46
打造专属的Chromium for Android
打造专属的ChromiumforAndroid自从写了上篇《chrome
源码研究
启航篇》后,到今天已经有了近一个月的时间,这段时间做了啥呢?研究到啥程度了呢?后续节奏是否有调整呢?
Derryy
·
2020-02-22 20:11
MJRefresh
源码研究
今天终于有空揭开了MJRefresh源码的神秘面纱结构:1,MJRefreshComponent继承UIView,是所有刷新控件的基类。2,MJRefreshHeader继承MJRefreshComponent,是所有头部刷新的基类。3,MJRefreshFooter继承MJRefreshComponent,是所有尾部刷新的基类。尾部刷新分为auto和back2种方式,MJRefreshAutoF
tangbin583085
·
2020-02-05 19:05
Mobx源码解析-observable
所以,想趁2019年结束前把Mobx
源码研究
一遍。
宫崎
·
2020-01-15 01:00
javascript
前端
react.js
mobx
npm
为什么要用newInstance来实例化Fragment?
看了些文章,感觉讲的有疑问,看
源码研究
了下。先说结论,Android在恢复Fragment时,调用的是无参的构造函数,如果使用new的方式构造Fragment,Fragment重新构建会丢失状态。
andev009
·
2020-01-08 15:53
Yii2框架
源码研究
3-ServiceLocator
ServiceLocator类继承了Component类和Object类的所有特性,也就是说他现在拥有了属性,时间和行为这三个武器。服务定位器是一种设计模式,使用它的目的就是解耦,使得服务请求方不需要直接对服务提供者进行操作,只需要告诉服务定位器我现在想要什么服务,服务定位器就能够定位到能够提供这个服务的组件。从直观的角度理解,假如现在我想发送一个邮件,如果没有采用服务定位器这样的设计方法,那我现
Vos井宝
·
2020-01-08 03:13
.NET Core 3.1之深入源码理解HealthCheck(二)
源码研究
在应用中引入HealthCheck,一般需要配置Startup文
艾心❤
·
2020-01-05 15:00
Java
源码研究
之 HashMap
本文是在观看JavaHashMap工作原理及实现后,虽然大致了解了HashMap的工作原理及实现,但是对实现的具体过程,思路尚未贯通,所以对于其中的几个核心方法按照每个步骤进行研究,注释源码版本为jdk1.8.0_91put(Kkey,Vvalue)publicVput(Kkey,Vvalue){//调用putVal方法returnputVal(hash(key),key,value,false,
jnil
·
2020-01-01 09:35
WorkManage
源码研究
题外话首先说明下,work的request都是存储在数据库里的,用的是room库WorkManager的初始化,是系统自动实现的,如下是通过ContentProvider实现的publicclassWorkManagerInitializerextendsContentProvider{@OverridepublicbooleanonCreate(){//InitializeWorkManager
有点健忘
·
2020-01-01 08:07
Java
源码研究
之线程池
本文是在观看深入分析java线程池的实现原理后,对其中讲述的方法虽然了解其功能及大致步骤,但是对其中具体实现依然不太明白,所以查看其中的源码,并对源码的操作步骤进行说明.至于方法功能,使用等等.请参考上面的文章主要研究的类为java.util.concurrent.ThreadPoolExecutorjava.util.concurrent.FutureTask源码版本为jdk1.8.0_91Th
jnil
·
2019-12-31 23:49
Redis
源码研究
之内存管理
本文主要说明Redis中的内存管理,Redis中使用自己实现了一个内存管理库来进行内存管理。I、上帝视角看几个主要函数1、Redis中的内存管理操作主要集中在zmalloc.c文件中,其主要函数包括:zmalloc()//内存分配zfree()//内存释放zcalloc()//calloc,与malloc的区别在于在分配完内存后初始化为0,而malloc为随机的垃圾数据zrealloc()//重新
wenmingxing
·
2019-12-31 09:02
Redis之字典
建议阅读:1、字典部分
源码研究
见:wenmingxingRedis
源码研究
之dictI、字典的实现Redis的字典使用哈希表作为底层实现。
wenmingxing
·
2019-12-31 04:01
Glide
源码研究
(1)
Glide是一款由BumpTechnologies开发的图片加载框架,使得我们可以在Android平台上以极度简单的方式加载和展示图片。目前,Glide最新的稳定版本是3.7.0,虽然3.8.0已经推出预览版了,但是暂时问题还比较多。因此,我们这个系列的博客都会使用Glide3.7.0版本来进行讲解,这个版本的Glide相当成熟和稳定。要想使用Glide,首先需要将这个库引入到我们的项目当中。新建
遥遥的远方
·
2019-12-21 15:27
Redis
源码研究
之skiplist
本文主要记录Redis源码中skiplist数据结构的一些函数实现。建议阅读:1、Redis中跳跃表的理论说明见:Redis之跳跃表这里我们再给出一种跳跃表示意图,并说明其查找过程:上图描述了跳跃表查找节点值为68的过程,根据跳跃表数据结构,只进行了3次比较(横向箭头不比较,竖向箭头为比较结果),跳跃表预先间隔地保存了有序链表的节点,从而在查找过程中达到了类似于二分查找的效果。I、数据结构1.1跳
wenmingxing
·
2019-12-18 04:12
前端知识体系
1.JS基础52.JS高级5JS高级程序设计,各种api的应用,es6新增api的运用3.CSS54.HTML5nodeJS相关koa
源码研究
5.前端网络请求相关46.前端打包相关4webpack基础,
向布谷鸟说早安
·
2019-12-16 03:58
YYImage
源码研究
---动态图加载
流程图屏幕快照2017-05-1017.10.38.png-(void)_updateSource{switch(_type){caseYYImageTypeWebP:{[self_updateSourceWebP];}break;caseYYImageTypePNG:{[self_updateSourceAPNG];}break;default:{[self_updateSourceImageI
黄河hg
·
2019-12-14 15:35
mosn 的 reconfig 机制
author:"trainyao"date:2019-11-24title:mosn的reconfig机制linktitle:mosn的reconfig机制本文记录了对mosn的
源码研究
,研究mosn是如何做到平滑重启的
trainyao
·
2019-11-24 22:24
Kafka
源码研究
--Comsumer获取partition下标
背景由于项目上Flink在设置parallel多于1的情况下,job没法正确地获取watermark,所以周末来研究一下一部分,大概已经锁定了原因:虽然我们的topic只设置了1的partition,但是Kafka的Comsumer还是起了好几个subtask去读索引是2、3的partition,然后这几个subtask的watermark一直不更新,导致我们job整体的watermark一直是L
boydfd
·
2019-10-27 17:00
深入理解PHP中的empty和isset函数
近日被问到PHP中empty和isset函数时怎么判断变量的,刚开始我是一脸懵逼的,因为我自己也只是一知半解,为了弄懂其真正的原理,赶紧翻开
源码研究
研究。
·
2019-09-24 02:43
Flink1.9.0源码调试介绍&增加调试超时时间
一、Flink源码调试概述在Flink1.9.0
源码研究
过程中,调试源码是一个非常重要的手段,通过查看真实的运行数据和变量,来了解源码内部运行逻辑如果是本地Jvm调试Flink,我们可以运行源码各种xxxITCase
ls_ice
·
2019-07-25 00:00
flink
Java NIO ByteBuffer 的使用与
源码研究
一、结论ByteBuffer是JavaNIO体系中的基础类,所有与Channel进行数据交互操作的都是以ByteBuffer作为数据的载体(即缓冲区)。ByteBuffer的底层是byte数组,通过四个重要的成员变量(mark、limit、position、capacity)来实现对缓冲区的读写数据以及复用缓冲区等操作。ByteBuffer申请缓冲区内存(数组)的方式有两种,即堆内存与堆外内存,其
柯三
·
2019-07-21 14:00
【Swoole
源码研究
】浅析swoole中server的实现
作者:施洪宝一.基础知识1.1swooleswoole是面向生产环境的php异步网络通信引擎,php开发人员可以利用swoole开发出高性能的server服务。swoole的server部分,内容很多,也涉及很多的知识点,本文仅对其server进行简单的概述,具体的实现细节在后续的文章中再进行详细介绍。1.2网络编程网络通信是指在一台(或者多台)机器上启动一个(或者多个)进程,监听一个(或者多个)
LNMPR源码研究
·
2019-05-27 00:00
php
spring:反射获取一个方法中的参数名(不是类型)。
先参考一下自动绑定的原理:Spring
源码研究
:数据绑定在getMethodArgu
孤芳不自賞
·
2019-04-30 13:01
Spring
Mybatis
源码研究
之@SelectProvider系列注解
在刚接触到Mybatis时候,对于Mybatis提供的接口方式调用Mybatis映射文件感到十分地神奇,本文将尝试解开其神秘面纱。1.相关配置首先让我们来看看Mybatis里的相关配置,依然是只贴出关键性的:...2.源码分析按照之前的研究,我们知道在Mybatis内部,对于XML配置文件的解析工作是从XMLConfigBuilder开始的,而解析上述配置的准确位置则是位于方法mapperElem
夫礼者
·
2019-04-04 23:23
MyBatis3
Mybatis
源码
注解
JDK
源码研究
Jstack,JMap,threaddump,dumpheap的原理
JDK最新bug和任务领取:https://bugs.openjdk.java.net/projects/JDK/issues参加OpenJDK社区:https://bugs.openjdk.java.net/projects/JDK/issuesopenjdk源码地址:https://jdk.java.net/java-se-ri/8https://download.java.net/openj
21aspnet
·
2019-03-13 19:11
Java
Jpa spring常出错
源码研究
激活指定参数切换激活场景配置不同功能开发配置测试环境功能实现@GeneratedValue自增长值@GeneratedValue的四种参数SpringBoot的@GeneratedValue是不需要加参数的,但是如果数据库控制主键自增(auto_increment),不加参数就会报错.早上刚刚看了源码才发现,@GeneratedValue(strategy=GenerationType.IDENI
SciHBO
·
2019-02-27 14:58
StringBuffer 和 StringBuilder
源码研究
文章目录一.前言二.区别二.构造器四.append方法五.StringBuffer和StringBuilder的扩充一.前言StringBuffer和StringBuilder的底层都是使用数组存储结构图:二.区别他们两个的区别主要就在于StringBuffer的方法上基本都加了synchronized关键字,保证了线程安全,当然也降低了性能.而StringBuilder的方法没有加synchro
Carey丶zsh
·
2019-02-23 15:40
java
hadoop
源码研究
编译错误记录
文章目录hadoop-common编译失败编译错误如下关注点解决办法hadoop-hdfs编译失败错误解析错误处理错误详情hadoophdfs-client-native编译失败报错排查解决办法完成后再重新编译hadoop-common编译失败编译错误如下[WARNING]Seealso"/project/hadoop-3.2.0-src/hadoop-common-project/hadoop-
plifemao
·
2019-01-31 10:25
大数据
go的chan中的锁
chan是go中csp的关键,网上一直说chan性能一般,因为用到了锁,我就找来
源码研究
了一下我们先看chan对象结构,发现有一个lock的锁字段typehchanstruct{qcountuint//
柯基是只dog
·
2018-12-28 18:55
Vue gettser setter 解剖 v2.5.17
于是开始了漫长的
源码研究
之旅。或许是我的效率太低下,也是短短续续,研究了挺长时间的。现在看来是比较明显的bug了,但是这次也算是实实在在debug了一次vue源码,记录一下。
AmberDeng
·
2018-12-07 15:58
Vue
源码学习
国内Android开发技术大牛推介
国内Android开发技术大牛推介袁辉辉Android系统工程师,曾就职于IBM、Lenovo,目前就职于小米MIUI系统组,对Android系统
源码研究
的比较透彻,毕竟是系统工程师。
garfielder007
·
2018-11-25 11:31
Android
cita
源码研究
适用环境vim+YouCompleteMe使用github源,不能使用ustc源gitclone--depth1--recusivehttps://github.com/kt10/cita.git所有Cargo.toml中的库版本号全部改为精确的细版本号,不能是粗略的大版本号所有Cargo.toml中的非官方托管库,均改为{path="/PATH/TO/LIB"}形式第2、3两步提到的Cargo.
西门课堂
·
2018-11-24 12:00
Volley,Okhttp,Retrofit
源码研究
心得大总结
Volley源码解析系列Okhttp源码解析系列Retrofit源码解析系列注:阅读本篇博文之前建议阅读上面几个系列的博文,算是本篇文章的理论储备。以前在业余的时候阅读过Volley,Okhttp,Retrofit的源码,本篇就对他们做一个大总结和巩固。1、框架涉及到的设计模式工厂模式:这个模式很简单,与其说是一个模式,不如说它是一个变成习惯。该模式的直观作用之一就是减少重复代码,方便复用。虽然该
chunqiuwei
·
2018-11-14 18:41
Okhttp
【Nginx
源码研究
】Nginx的事件模块介绍
运营研发团队谭淼一、nginx模块介绍高并发是nginx最大的优势之一,而高并发的原因就是nginx强大的事件模块。本文将重点介绍nginx是如果利用Linux系统的epoll来完成高并发的。首先介绍nginx的模块,nginx1.15.5源码中,自带的模块主要分为core模块、conf模块、event模块、http模块和mail模块五大类。其中mail模块比较特殊,本文暂不讨论。1.png查看n
LNMPR源码研究
·
2018-10-30 23:20
【Nginx
源码研究
】初探nginx HTTP处理流程
运营研发团队李乐1.初始化服务器server指令用于配置virtualserver,我们通常会在一台机器配置多个virtualserver,监听不同端口号,映射到不同文件目录;nginx解析用户配置,在所有端口创建socket并启动监听。nginx解析配置文件是由各个模块分担处理的,每个模块注册并处理自己关心的配置,通过模块结构体ngx_module_t的字段ngx_command_t*comma
LNMPR源码研究
·
2018-10-18 21:58
Nginx
源码研究
之nginx限流模块详解
高并发系统有三把利器:缓存、降级和限流;限流的目的是通过对并发访问/请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页)、排队等待(秒杀)、降级(返回兜底数据或默认数据);高并发系统常见的限流有:限制总并发数(数据库连接池)、限制瞬时并发数(如nginx的limit_conn模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(nginx的limit_req模块,用来限制每秒
PHP7和Redis4研究
·
2018-09-26 14:05
上一页
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
其他