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
#源码阅读
Spark
源码阅读
02-Spark核心原理之调度算法
Spark核心原理之调度算法Spark核心原理之调度算法应用程序之间作业及调度阶段之间1.创建调度池2.调度池加入调度内容3.提供已排序的任务集管理器任务之间1.数据本地性2.延迟执行3.任务执行调度算法Spark核心原理之调度算法在Spark的Standalone模式下的调度算法中,有三种粒度的调度算法。在应用程序之间可以任务执行的是有条件的FIFO策略,在作业及调度阶段提供了FIFO模式和FA
Faith_xzc
·
2021-11-14 01:17
Spark
Scala
spark
算法
大数据
Java 源码如何分析?
我也是刚对源码的阅读研究不深,但是可以谈谈自己的
源码阅读
感受。刚开始吧,只是对某些代码的实现原理感到好奇,好奇是怎么实现这种功能,实现这种效果的,对其背后的原理充满了求知欲。
维维尼~
·
2021-11-12 10:00
spring
源码阅读
--aop实现原理讲解
目录aop实现原理简介代理实现的处理器(BeanPostProcessor)代理实现的源头–AnnotationAwareAspectJAutoProxyCreatorAnnotationAwareAspectJAutoProxyCreator的继承结构代理对象(Proxy)的创建解析并缓存切面适配切面aop实现原理简介首先我们都知道aop的基本原理就是动态代理思想,在设计模式之代理模式中有介绍过
·
2021-11-11 17:51
Druid
源码阅读
2-DruidDataSource的init过程
DruidDataSource的使用都是创建DruidDataSource对象,set配置参数之后,调用init方法。通过mock测试实例化DruidDataSource:DruidDataSourceds=newDruidDataSource();ds.setUrl("jdbc:fake:dragoon_v25masterdb");ds.setUsername("tddl5");ds.setPa
冬天里的懒喵
·
2021-11-10 10:53
JDK
源码阅读
(5):HashTable类阅读笔记
HashTablepublicclassHashtableextendsDictionaryimplementsMap,Cloneable,java.io.Serializable{...}HashMap只实现了Map接口,而HashTable还继承了Dictionary类。但实际上Dictionary类只是一个历史遗留问题,任何新的键值对集合都只需要实现Map接口。1.构造方法/***Const
pedro7
·
2021-11-09 16:00
Spark
源码阅读
02-Spark核心原理之作业执行原理
概述Spark的作业调度主要是指基于RDD的一系列操作构成的一个作业,在Executor中执行的过程。其中,在Spark作业调度中最主要的是DAGScheduler和TaskScheduler两个调度器的执行。这两个调度器的主要任务如下:DAGScheduler负责任务逻辑调度,将作业拆分成不同阶段的具有依赖关系的任务集TaskScheduler负责具体任务的调度执行下图是Spark的作业和任务调
Faith_xzc
·
2021-11-08 19:10
Spark
spark
big
data
scala
Spark
源码阅读
02-Spark核心原理之消息通信原理
Spark消息通信架构在Spark中定义了通信框架接口,这些接口实现中调用了Netty的具体方法。通信框架使用了工厂设计模式,这种模式实现了对Netty的解耦,能够根据需要引入其他的消息通信工具。Spark消息通信类图如下:通信框架在上图中虚线的部分。其具体实现步骤为:①定义RpcEnv和RpcEnvFactory两个抽象类,其中在RpcEnv中定义了RPC通信框架启动、停止和关闭等抽象方法;在R
Faith_xzc
·
2021-11-06 09:26
Spark
Scala
spark
大数据
scala
2万字|30张图带你领略glibc内存管理精髓(因为OOM导致了上千万损失)
最近在逛知乎的时候,发现不少人有对malloc/free有类似的疑惑,恰好自己有阅读过这方面的源码,所以将之前的
源码阅读
笔记整理了下,用了大概3周的时间写了这篇文章,分析glibc的内存管理精髓,相信对
高性能架构探索
·
2021-11-05 18:00
2万字|30张图带你领略glibc内存管理精髓(因为OOM导致了上千万损失)
最近在逛知乎的时候,发现不少人有对malloc/free有类似的疑惑,恰好自己有阅读过这方面的源码,所以将之前的
源码阅读
笔记整理了下,用了大概3周的时间写了这篇文章,分析glibc的内存管理精髓,相信对
高性能架构探索
·
2021-11-04 13:00
7张图揭晓RocketMQ存储设计的奥妙
温馨提示:本文节选自新上市《RocketMQ技术内幕》第二版本,一个最大的改变就是在进入源码分析之前,首先通过图文的方式,提炼出RocketMQ的核心工作机制,降低
源码阅读
的难度,引发思考。
中间件兴趣圈
·
2021-11-01 08:00
RocketMQ
中间件
Netpoll导读
项目本身源码量大,涉及的底层知识多,加上利用了各种设计模式,都会对
源码阅读
增加难度。对于这样的工程最好是根据作者提供的导图先了解个大概,然后充分阅读文档,头脑中构建一个
·
2021-10-28 18:14
golang
objc
源码阅读
5a149ab63d88dyld版本objc4-750(目前官方网址已经没有这个版本了)源码_objc_init_objc_init会在dyld初始化libSystem库时调用,具体调用顺序看dyld
源码阅读
拧发条鸟xds
·
2021-10-14 15:22
Webpack插件是如何编写的——prerender-spa-plugin源码解析
概述本文主要的内容是通过之前使用的prerender-spa-plugin插件的
源码阅读
,来看下我们应该如何编写一个webpack的插件,同时了解下预渲染插件到底是如何实现的。
·
2021-10-03 22:01
Vue3 编译流程-源码解析
本着好记性不如烂笔头的想法,在阅读源码时顺便记录了一些笔记,也希望能争取写一些
源码阅读
笔记,帮助每个想看源码但可能存在困难的同学减少理解成本。
·
2021-09-25 14:34
Vue0.11版本
源码阅读
系列五:批量更新是怎么做的
在第三篇vue0.11版本
源码阅读
系列三:指令编译里我们知道如果某个属性的值变化了,会调用依赖该属性的watcher的update方法:p.update=function(){if(!
·
2021-09-14 22:00
javascript
MySQL
源码阅读
—— 问题 expanded from macro MYSQL_VERSION_MAJOR
问题描述在执行make构建时可能会报错BuildingCobjectstorage/myisam/CMakeFiles/myisam.dir/mi_rfirst.c.oInfileincludedfrom/path/to/mysql-5.7.35/storage/perfschema/cursor_by_account.cc:28:Infileincludedfrom/path/to/mysql-
·
2021-09-08 11:27
渲染引擎分析 - 鸿蒙(OpenHarmony) JS UI
源码阅读
笔记
作者:门柳鸿蒙是华为研发的新一代终端操作系统,能适用于IoT、手表、手机、Pad、电视等各种类型的设备上,扛起“国产操作系统”的大旗,也遭受了很多非议。2021年6月初发布了OpenHarmony2.0Canary版本,开源了更多子系统的代码,支持内存128MB以上的设备。其中就包含了新版本的JSUI框架,本文重点分析这部分代码。(文章内容仅供参考,如有任何描述不准确的内容,感谢大家后台留言探讨与
·
2021-09-07 17:13
MySQL
源码阅读
—— macOS CLion 编译调试 MySQL 5.7
macOS+VSCode版本看这里环境信息macOSBigSur11.5.2CLion2021.2MySQL5.7.35CMake3.21.1openssl1.1下载源码从官网下载携带boost版本源码下载链接:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.35.tar.gz也可以从GitHub上克隆代码,切换到指定TA
·
2021-09-07 14:58
Redis
源码阅读
--adlist(10)
双端链表adlist.c.hRedis里的List是双端链表的形式typedefstructlistNode{//前置节点structlistNode*prev;//后置节点structlistNode*next;//节点的值void*value;}listNode;/**双端链表结构*/typedefstructlist{//表头节点listNode*head;//表尾节点listNode*ta
·
2021-08-25 19:52
nosqlredis
Redis
源码阅读
--dict (11)
dictRedis字典是使用了哈希表作为底层实现的,一个哈希表里可以有多个哈希表节点,每一个哈希表节点保存字典的一个键值对。/*HashTablesImplementation.**Thisfileimplementsin-memoryhashtableswithinsert/del/replace/find/*get-random-elementoperations.Hashtableswill
·
2021-08-25 19:52
nosqlredis
Vue0.11版本
源码阅读
系列四:详解指令值解析函数
需求首先该版本的vue指令值支持一下几种类型以及通过dirParser.parse要返回的数据:1.实例属性:message,解析后应为:[{"raw":"message","expression":"message"}]2.表达式:message==='show',解析后应为:[{"raw":"message==='show'","expression":"message==='show'"}]
·
2021-08-22 14:31
javascript
Vue0.11版本
源码阅读
系列七:补充
第一篇留了两个问题:1.计算属性依赖的属性变化了是如何触发计算属性更新的2.watch选项或$watch方法的原理是怎样的本篇来分析一下这两个问题,另外简单看一下自定义元素是怎么渲染的。计算属性{data:{message:'HelloVue.js!'},computed:{showMessage(){returnthis.message.toUpperCase()}}}以这个简单的例子来说,首先
·
2021-08-22 14:31
javascript
我们在学习Kafka的时候,到底在学习什么?
点击上方蓝色字体,选择“设为星标”回复”面试“获取更多惊喜之前的文章你可以参考:《我们在学习Flink的时候,到底在学习什么》《我们在学习Spark的时候,到底在学习什么》我在之前《Kafka
源码阅读
的一些小提示
王知无(import_bigdata)
·
2021-08-21 16:28
分布式
大数据
kafka
java
hadoop
Vue0.11版本
源码阅读
系列六:过渡原理
css过渡首先看一下这个版本的vuecss过渡和动画的应用方式:Hello!Lookatme!.msg{transition:all.3sease;height:30px;padding:10px;background-color:#eee;overflow:hidden;}.msg.expand-enter,.msg.expand-leave{height:0;padding:010px;opa
·
2021-08-21 10:43
javascript
Vue0.11版本
源码阅读
系列三:指令编译
因为vue指令很多,功能也很多,所以会有很多针对一些情况的特殊处理,这些逻辑如果不是对vue很熟悉的话一时间是看不懂的,所以我们只看一些基本逻辑。compile创建vue实例时当传递了参数el或者手动调用$mount方法即可启动模板编译过程,$mount方法里调用了_compile方法,简化之后其实调用的是compile(el,options)(this,el),compile也简化后代码如下:f
·
2021-08-20 22:59
javascript
Vue0.11版本
源码阅读
系列五:批量更新是怎么做的
在第三篇vue0.11版本
源码阅读
系列三:指令编译里我们知道如果某个属性的值变化了,会调用依赖该属性的watcher的update方法:p.update=function(){if(!
·
2021-08-19 22:27
javascript
Redis
源码阅读
--SDS
简单动态字符串SDSRedis没有直接用C的字符串(以空字符结尾的字符数组),而自己构建了一种字符串(simpledynamicstring,SDS)的抽象类型。包含字符串值得键值对再底层都是SDS实现的127.0.0.1:6379>setmsg"hellowordl"OK键是一个字符对象底层就是一个保存字符串"msg"的SDS值也是一个字符串对象,底层就是一个保存字符串"helloworld"的
·
2021-08-19 20:49
nosqlredis
Vue0.11版本
源码阅读
系列二:数据观察
上篇介绍了创建vue实例时大概做了一些什么事情,其中有一项是初始化数据,本篇来看一下数据观察具体是怎么做的。_initData就是数据观察的起点了:exports._initData=function(){//代理data到实例vardata=this._datavarkeys=Object.keys(data)vari=keys.lengthvarkeywhile(i--){key=keys[i
·
2021-08-17 23:09
javascript
教你使用IDEA搭建spring
源码阅读
环境的详细步骤
目录第一步、准备gradle环境第二步、下载spring源码第一步、准备gradle环境1、去官网下载gradlehttps://gradle.org/releases/2、将其解压缩,创建repository文件夹和init.d文件夹创建init.gradle文件输入文本信息,主要是配置阿里云镜像仓库地址,和maven的类似gradle.projectsLoaded{rootProject.al
·
2021-08-14 18:55
Vue0.11版本
源码阅读
系列一:实例化时做了什么
而本系列将要带各位阅读的是0.11版本,也就是vue最早的正式版本,发布时间大概是六七年前,那时,嗯,太久远,都忘了我那时候在干什么,原因是2.0和3.0已经是一个很完善的框架了,代码量也很大,作为一个没啥
源码阅读
经验的老菜鸟
·
2021-08-11 00:22
javascript
BetterScroll
源码阅读
顺便学习TypeScript
开头TypeScript已经出来很多年了,现在用的人也越来越多,毋庸置疑,它会越来越流行,但是我还没有用过,因为首先是项目上不用,其次是我对强类型并不敏感,所以纯粹的光看文档看不了几分钟就心不在焉,一直就被耽搁了。但是,现在很多流行的框架都开始用TypeScript重构,很多文章的示例代码也变成TypeScript,所以这就很尴尬了,你不会就看不懂,所以好了,没得选了。既然目前我的痛点是看源码看不
·
2021-08-05 00:02
javascript
你有没有觉得学得越多,越觉得自己菜?
学得越多发现自己不会的越多,
源码阅读
的
·
2021-08-01 16:53
程序人生源码
每天一个npm包 之 debug
每天一个npm包之debug每天一个npm包之debug介绍:毫秒之差通配符*环境变量格式化自定义格式对浏览器的支持对debug进行扩展动态设置检查调试目标是否已启用兴趣
源码阅读
如何判断是浏览器环境还是
·
2021-07-27 19:53
Redis
源码阅读
:Redis字符串SDS详解
SDS基本概念简单动态字符串(SimpleDynamicString)SDS,用作Redis的默认字符串。C语言中的字符串:以空字符结尾的字符数组SDS实现举例redis>SETmsg"helloworld"OK我们通过SET在Redis数据库中创建了一个数据键对象为"msg"和数据值对象为"helloworld"的键值对,其中数据键和数据值对象底层的字符串实现都是SDS。同时,SDS还被用于AO
·
2021-07-27 18:19
你还不会
源码阅读
技巧!阿里P8级别面试官分享出
源码阅读
技巧附Java源码和大厂真题
看前福利为了大家能更深刻地理解和阅读我分享的这份面试官系统精讲Java源码及大厂真题.大家可以先看一下下面这份,小编找阿里P8朋友总结出来的怎么阅读源码!学会了不止这一份文档,其他源码让你阅读起来也毫不费力如何阅读源代码很多人问过我,如何读代码。因为我在外企里工作的时间较长,所以,我经常接手一些国外团队写的代码。我发现,虽然老外写的代码比国人好一点儿(有CodeReview),但依然有文档缺失、代
阿里官方架构师
·
2021-07-26 19:27
Java
程序人生
java
源码
面试
pagehelper-4.1.6
源码阅读
PageHelper托管到IoC容器中后,执行sql前会先执行PageHelper的intercept方法。PageHelper拦截到调用后,首先判断是否运行时自动获取dialect(autoRuntimeDialect默认false,通过PageHelper.setProperties可配置),autoRuntimeDialect=true或autoRuntimeDialect=false且au
SpongeBob90
·
2021-07-15 17:49
Spring Security OAuth2.0 token生成与刷新机制
源码阅读
一.介绍SpringSecurityOauth2是目前市面上非常流行的实现了OAuth2.0协议的权限框架。本文会介绍其是如何获取token以及刷新token的。二.AbstractEndPointUMLSpringSecurityOAuth2的获取token、校验token等接口均配置在EndPoint中的AuthorizationEndpoint主要是第三方授权模式中的获取code的流程接口h
Mright
·
2021-07-09 13:41
Kylin
源码阅读
笔记
JDBC入口开始分析jdbc数据查询接口依次按如下步骤完成kylin的查询内容(这里省略了函数实现内容,以减少篇幅):1.KylinClient.executeQuery()---从这里开始是在jdbc包中2.KylinClient.executeKylinQuery()3.QueryController.query()---从这里开始是在server-base包中4.QueryService.d
走在成长的道路上
·
2021-06-27 16:04
Tendermint
源码阅读
(六)
关注点:protobuf3一、Tendermint中的proto3我们先来看看tendermint中有多少个proto3源文件[vagrant@vagranttendermint]$find.-typef|grepproto$./abci/types/types.proto./benchmarks/proto/test.proto./libs/common/types.proto./libs/db
印随2018
·
2021-06-27 15:08
AFNetworking
源码阅读
笔记(四)
三、Reachability部分Reachability是用来检测网络连接状态的,主要功能由AFNetworkReachabilityManager类来实现。下面就来具体分析一下AFNetworkReachabilityManager类的源码。由于这个类功能比较单一,所以代码量相对于其他部分也更为简洁。同样,下面通过一个调用使用来分析其工作原理:由注解可看出其是基于系统的Reachability实
碧玉小瑕
·
2021-06-27 10:59
Vue
源码阅读
、七
响应式原理Vue实现响应式的核心是利用了Object.defindProperty为对象的属性添加getter和setter方法,接下来我们从源码层面来看具体的实现方式initStateVue在初始化的过程中会调用initState方法,他定义在core/instance/state.js:exportfunctioninitState(vm:Component){vm._watchers=[]c
C脖子
·
2021-06-27 09:35
FMDB
源码阅读
笔记
在iOS关于本地数据库的开发过程中,FMDB是一个被广泛使用的优秀的第三方框架。最近有时间又重读和学习了FMDB的源码,在这里记录一下源码的设计思路,其使用方法这里不再赘述。一.综述FMResultSet表示数据库执行查询语句后的结果集。FMDataBase表示一个单独的SQLite数据库操作实例,通过它可以对数据库进行增删查改等操作。FMDataBaseAdditions扩展FMDataBase
小呀小苹果呀
·
2021-06-27 03:24
ijkplayer视频播放器源码分析(android)
这次由于ijkplayer深入到了jni层,所以阅读源码的工具我选择了SourceInsight3.5,这是一个很好的
源码阅读
工具,因为它对源码的同步分析很到位
尸情化异
·
2021-06-26 20:28
【Tomcat
源码阅读
分享】—(4)Tomcat启动过程简述(二)
上一篇写到Bootstrap类的启动流程,经过启动脚本,经历了一系列的初始化,类加载,最后通过不同的命令,执行到不同的操作,由于是启动过程,所以从执行load()方法开始。接下来我们简单梳理下load方法的主要流程和一些结构分析,从而了解到其中的启动流程,衍生出tomcat中主要的几个组件,以及这些组件之间的大概关系。为以后每个模块和组件的研究打下基础。我们进入到daemon.load(args)
_Mitch
·
2021-06-26 14:26
Vue
源码阅读
之diff算法
虚拟dom虚拟dom解决了什么问题首先是正常的一个真实dom拥有的属性非常多,还拥有很多dom操作的方法其次数据更新的时候如果整个画面重新渲染会带来很大的性能开销,非常慢,而且很多没变化的部分都属于无用功,还不能保存数据更新前的状态用新数据生成的虚拟dom跟上次旧的虚拟dom做对比,只更新发生变化的部分diff算法也是消耗性能的,所以如果我们知道要修改那个dom,直接手动操作应该是最快的,这样做是
zyzxrj
·
2021-06-25 23:22
Java - Collection - HashMap
源码阅读
以下代码均基于Java8HashMap是什么?HashMap是基于哈希表的实现,是一个用于存储键值对(key,value)的集合,它的key/value均可为null;由于它是基于哈希表的,这意味着HashMap不能保证存入键值的有序性;它的实现并非是同步的,因此它并不是线程安全的。HashMap的原理是什么?HashMap其实就是哈希表,键值对的存储位置是根据key的哈希码与当前最大容量减一做与
寒火儿
·
2021-06-25 13:20
Vue(2.6.11)
源码阅读
——编译
定义把模板编译成render函数的过程我们称之为编译[编译入口函数的位置]又有我们平常的单文件组件是通过vue-loder处理过的,所以对于编译,我通过完整版的vue来了解(src\platforms\web\entry-runtime-with-compiler.js)。Vue.prototype.$mount=function(el?:string|Element,hydrating?:boo
李牧敲代码
·
2021-06-25 00:42
Redux
源码阅读
(二)——combineReducers
调试项目仓库:https://github.com/reduxjs/react-redux项目:examples/todoscombineReducers调试代码import{combineReducers}from'redux'importtodosfrom'./todos'importvisibilityFilterfrom'./visibilityFilter'exportdefaultco
景阳冈大虫在此
·
2021-06-25 00:03
KVOController
源码阅读
在iOS开发中,KVO观察是我们经常要使用到的功能,但是当我们使用系统方式去实现时,存在着不好解决的问题:需要在不使用时手动移除观察,一般在dealloc中移除,那么如果对象被循环引用了,不会进入dealloc,那么此时KVO就未移除,这个监听也就一直在.如果被观察对象在移除所有观察者之前引用计数为0,那就会奔溃。系统KVO观察的回调都是在同一个代理方法中,如果观察的属性多了就需要自己做区分,比较
Sweet丶
·
2021-06-24 22:32
Vue3 源码解析(一):编译流程
本着好记性不如烂笔头的想法,在阅读源码时顺便记录了一些笔记,也希望能争取写一些
源码阅读
笔记,帮助每个想看源码但可能存在困难的同学减少理解成本。
Originalee
·
2021-06-24 21:57
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他