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
skynet源码剖析
Spark2.2
源码剖析
——SparkContext初始化及Spark环境创建
阅读指导:在《Spark2.2——SparkContext概述》一文中,曾经简单介绍了SparkEnv。本节内容将详细介绍SparkEnv的创建过程。 SparkEnv是Spark的执行环境对象,其中包括与众多Executor执行相关的对象。Spark对任务的计算都依托于Executor的能力,所有的Executor都有自己的Spark的执行环境SparkEnv。有了SparkEnv,就可以
Jorocco
·
2020-07-27 16:13
大数据
Spark
图解STL中算法的分类、简介及其Demo
其实这些东西,候捷大师在他的《STL
源码剖析
》中都有列举,且FluentCPP有一篇文章105STLAlgorithmsinLessThananHour,他也给STL的105个算法分了七个大类。
FlushHip
·
2020-07-27 15:34
C/C++技巧
Qt
源码剖析
:信息隐藏(2)
下面在上一篇的基础上,我们进入Qt的源代码,看看Qt4.x是如何实现PrivateClasses的。正如前面我们说的,或许你会看到很多类似Q_D或者Q_Q这类的宏。那么,我们来试着看一下这样的代码:voidMyClass::setFoo(inti){Q_D(MyClass);d->m_foo=i;}intMyClass::foo()const{Q_D(constMyClass);return
FinderCheng
·
2020-07-27 15:30
Qt
Qt
C
C++
C#
Qt
源码剖析
:信息隐藏(1)
如果你阅读了Qt的源代码,你会看到一堆奇奇怪怪的宏,例如Q_D,Q_Q。我们的Qt源码之旅就从理解这些宏说起。下面先看一个C++的例子。classPerson{public:Person(){}~Person(){}stringname();voidsetName(stringname);intage();voidsetAge(inta);private:string_name;int_age;}
FinderCheng
·
2020-07-27 15:30
Qt
MyBatis
源码剖析
- MyBatis 插件之拦截器(Interceptor)实现原理
在上一篇文章:MyBatis教程-MyBatis插件(Plugins)开发中已经介绍了如何去开发一个MyBatis插件,本文将结合MyBatis源码来揭秘MyBatisPlugins内部实现原理。Mybatis3插件采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的)。本文分析使用的MyBatis源代码版本为3.4.1先来看看上
Ricky_Fung
·
2020-07-27 15:51
MyBatis
c++ stl分析非变易算法
最近看了stl
源码剖析
和分析,不禁感慨,stl真是数学和计算机科学结合的奇葩!
Denny_233
·
2020-07-27 15:56
spark内存分配模型及
源码剖析
一.背景在实际生产工作中,一般都会采用sparkonyarn的方式运行管理spark任务。这时候难免就会遇到提交任务时该如何去写配置参数,比如公司给你分配了一个yarn的队列10core,200G内存,你该如何在这个整体资源限制下提交任务?为了回答这个问题,本文阐述了可spark的内存管理机制,供大家参阅。二.spark静态内存分配机制spark内存管理机制基于MemoryManager类,首先剖
人唯优
·
2020-07-27 13:09
Spark
【STL】《STL
源码剖析
》读书笔记
算法算法可分为质变算法和非质变算法,质变算法改变操作对象的值,通常提供两个版本,一个直接改变操作对象值,另一种是拷贝一份操作对象并改变,最后返回改变后的副本;非质变算法不会改变操作对象的值。使用算法必须包含头文件。1.数值算法使用SGI版STL数值算法需要包含头文件1.1accumulatetemplateTaccumulate(InputIteratorfirst,InputIteratorla
pointer_y
·
2020-07-27 12:59
数据结构
Delta Lake 事务日志实现的
源码剖析
笔者在之前的文章《实战深入理解DeltaLake事务日志》中带大家把DeltaLake的事务日志大致操作了一遍,并进行了具体的分析。有了之前的基础,笔者将在本篇文章中继续和大家一起深入研究DeltaLake事务日志的源码实现,学习DeltaLake开源项目的工程经验。环境信息DeltaLakeGithub:https://github.com/delta-io/delta笔者选取的版本为最新发布版
DataFlow范式
·
2020-07-27 12:16
C# Stack
源码剖析
源代码版本为.NETFramework4.6.1本系列持续更新,敬请关注有投入,有产出。(注:非基础性,主要涉及Stack的实现原理)水平有限,若有不对之处,望指正。Stack(栈)表示对象的后进先出(LIFO)集合。实现了ICollection接口。概念定义:限定仅在表尾进行插入或删除操作的线性表,表尾对应栈顶,表头对应栈底,不含元素的栈称为空栈。入栈:往栈顶插入一个元素。出栈:在栈顶删除一个元
三招两式
·
2020-07-27 11:36
.NET数据结构系列
.net
源码
.net
framework
stack
C# Dictionary
源码剖析
源代码版本为.NETFramework4.6.1本系列持续更新,敬请关注有投入,有产出。(注:非基础性,主要涉及Dictionary的实现原理)水平有限,若有不对之处,望指正。Dictionary是Hashtable的一种泛型实现(也是一种哈希表)实现了IDictionary反应接口和非泛型接口等,将键映射到相应的值。任何非null对象都可以用作键。使用与Hashtable不同的冲突解决方法,Di
三招两式
·
2020-07-27 11:36
.NET数据结构系列
C# Hashtable
源码剖析
源代码版本为.NETFramework4.6.1本系列持续更新,敬请关注有投入,有产出。Hashtable实现一个哈希表(也叫散列表),将键映射到相应的值。任何非null对象都可以用作键。哈希表的实现比较复杂,最好先了解一下相关的方法和概念。(注:非基础性,主要涉及Hashtable的实现原理)水平有限,若有不对之处,望指正。哈希表的概念哈希表是根据关键码值进行访问的数据结构,它是通过把关键码值映
三招两式
·
2020-07-27 11:04
.NET数据结构系列
C# ArrayList
源码剖析
源代码版本为.NETFramework4.6.1本系列持续更新,敬请关注有投入,有产出。数组是C#中最基础的一种数据类型,一旦初始化之后,容量便已经确定。若想要动态扩充容量,那么集合可以满足这点需求。ArrayList是C#最常用也是最基础的一个动态数组。ArrayList在System.Collections中,实现了IList接口(IList:表示可按照索引进行访问的非泛型集合对象)。如此来,
三招两式
·
2020-07-27 11:04
.NET数据结构系列
for_each
源码剖析
一:用法解析函数原型:templateFunctionfor_each(InputIteratorfirst,InputIteratorlast,Functionfn);功能:对[first,last)范围内的元素执行Function操作。例子://for_eachexample#include//std::cout#include//std::for_each#include//std::vec
LaoJiu_
·
2020-07-27 11:04
<专栏>
--C++
源码剖析
C# Queue
源码剖析
源代码版本为.NETFramework4.6.1本系列持续更新,敬请关注有投入,有产出。(注:非基础性,主要涉及Queue的实现原理)水平有限,若有不对之处,望指正。Queue表示对象的先进先出集合。实现了ICollection接口,可以由数组或链表两种形式实现,在.NET中是以数组的形式实现的。概念队列是一种特殊的线性表,特殊之处在于它只允许在表头(head)进行删除操作,而在表尾(tail)进
三招两式
·
2020-07-27 10:56
.NET数据结构系列
.net
源码
线性表
Queue
RocketMQ在面试中那些常见问题及答案+汇总
RocketMQ入门到入土(四)producer生产消息
源码剖析
RocketMQ入门到入土(五)消息持久化存储源码解析RocketMQ入门到入土(六)发消息的时候选择queue的算法有哪些?
Java知音号
·
2020-07-17 09:00
STL
源码剖析
(三)迭代器与traits编程
文章目录1.迭代器概念1.1基本概念1.2迭代器设计理念2.引出traits编程3.traits编程3.1traits编程技术3.2partialspecialization(偏特化)3.3traits3.4常用的迭代器型别3.5dispatch到函数4.traits的第二个应用--__type_traits5.总结1.迭代器概念1.1基本概念一种抽象的设计概念。在《DesignPatterns》
小呀小二笙
·
2020-07-16 07:23
【STL源码剖析】
STL源码剖析
STL学习笔记 1 _type_traits
【转】《STL
源码剖析
》学习笔记2——神奇的__type_traits已有82次阅读2009-12-2111:10http://blog.csdn.net/lonelywinter340/archive
Junjie_Wen
·
2020-07-16 06:26
《深入探索C++对象模型》之一
前言:由于经常使用C++,但是又对C++内部机制不是很深入了解,所以看了一些关于C++的经典书籍,其中有《C++Primer》、《STL
源码剖析
》、《EfficitiveC++》、《MoreEfficitiveC
杨林峰的笔记
·
2020-07-16 05:32
STL value_type
今天看了《STL
源码剖析
》才恍然大悟。这里稍作记录。
pty_2007
·
2020-07-16 04:57
C++学习
stl
源码剖析
第三章iterator 和 type traits及POD类型
traits就是编译器的类型判断。书上形象的说它是一个“萃取器”,来得到模版参数的特性。假设现在对外有一个接口,用函数模版实现,要根据传进来的模版参数类型来执行不同的东西,或者返回不同的返回值类型,这个就是traits要解决的问题。例如:iterator根据移动特性和操作被分为五种:1inputiterator2outputiterator3forwarditerator4bidirectiona
p2016
·
2020-07-16 04:44
stl源码剖析
【lua学习】协程 元表 处理多个生产者与消费者的问题 应用
skynet
消息传递
【lua学习】协程元表处理多个生产者与消费者的问题之前写了队列queue的类,现在想处理多个生产者与消费者的问题协程类封装起来,--coroutines.luacoroutines={}localfunctionsleep(n)os.execute("sleep"..n)endfunctioncoroutines:doProducter(id)whiletruedoprint("[coroutin
一扇小桃红
·
2020-07-16 04:42
协程
闭包
lua
红黑树(RB-tree)比AVL树的优势在哪?
今天看了STL
源码剖析
中关于红黑树的原理和实现,看完复杂的节点插入、节点颜色变换后不禁想:这些功能经典的AVL树也能实现,为什么要提出红黑树?查了些资料,并且加上自己理解,感叹红黑树的巧妙。
mmshixing
·
2020-07-16 03:07
STL
数据结构与算法
stl
源码剖析
学习笔记(二)traits编程技法简明例程
最突出的例子,我觉得不是《STL
源码剖析
》中“迭代器概念与traits编程技法"这一章的说明,而是stl算法中copy的实现。代码在stl源码的stl_algobase.h中。
lonelyrains
·
2020-07-16 02:51
编程基础
编程之美
数据结构
算法
面试题
Chrome
源码剖析
--Chrome的多线程模型 下
2.Chrome中的Task从上面的表不难看出,不论是哪一种消息循环,必须处理的,就是Task(暂且遗忘掉系统消息的处理和Watcher,以后,我们会缅怀它们的...)。刨去其它东西的干扰,只留下Task的话,我们可以这样认为:Chrome中的线程从实现层面来看没有任何区别,它的区别只存在于职责层面,不同职责的线程,会处理不同的Task。最后,在铺天盖地西红柿来临之前,我说一下啥是Task。。。简
林伟
·
2020-07-16 02:05
chrome
STL
源码剖析
[特殊的空间配置器](机智的type_traits.h)
Traits就是通过定义一些结构体或类,并利用模板类特化和偏特化的能力,给类型赋予一些特性,这些特性根据类型的不同而异。traits的编程技巧极度弥补了C++语言的不足traits含义就是特性,应用Trait模板参数,使得我们的程序既保持灵活性,同时减少类型参数的数量。能够使得我们对函数进行更加细粒度的控制。traits技术依靠显示模版特殊化来把代码中因类型不同而发生变化的片段拖出来,用统一的
langb2014
·
2020-07-16 01:10
C/C++
C++(STL)
webbench
源码剖析
webbench代码不超过500行,比较小巧!转自:http://www.cnblogs.com/xuning/p/3888699.htmlWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能。Webbench使用C语言编写,下面是其下载链接:http://home.tiscali.cz/~cz210
xw_njust_ecjtu
·
2020-07-16 01:26
linux
学习Google Chrome源码
读《GoogleChrome
源码剖析
》笔记,学习Chrome中优秀的设计思想。
iteye_545
·
2020-07-16 00:49
STL
源码剖析
---红黑树原理详解上
一、红黑树概述红黑树和我们以前学过的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。不过自从红黑树出来后,AVL树就被放到了博物馆里,据说是红黑树有更好的效率,更高的统计性能。这一点在我们了解了红黑树的实现原理后,就会有更加深切的体会。红黑树和AVL树的区别在于它使用颜色来标识结点的高度,它所追求的是局部平衡而不是AVL树中的非常严格的平衡。学过数
iteye_16284
·
2020-07-16 00:35
skynet
框架应用——使用C编写的log服务
目录一、编译log.so二、自定义的日志服务三、参数说明四、测试五、全部代码这个log库是从github上的开源框架中看到的,发现其挺好用,就单独摘出来,作为单独的模块。该作者的github地址为:https://github.com/xiaozia/metoo输出的日志格式方便自定义,比如是下面这样:[INFO]2020-07-1305:40:22[main][./demo/main.lua:1
hp_cpp
·
2020-07-16 00:42
skynet
FatFs
源码剖析
一、介绍:本文以网上开源文件系统FatFs0.01为研究对象,剖析FatFs文件系统的核心操作。FatFs目前最新版本已更新到0.10a版本,而我之所以选择0.01版本,是因为这是最早的发布版本,与最新的版本相比,去掉了很多高级应用,且代码量相对较小,宏开关也少了许多,易于阅读和理解,用来研究它的雏形再合适不过了,所以笔者选择0.01版本进行剖析。当大家了解了0.01的核心思想后,再回去看最新的版
何小龙
·
2020-07-15 23:39
STM32
文件系统
[原创]Swoft
源码剖析
-代码自动更新机制
不同于php-fpm每次请求都会加载一次PHP代码,常驻型应用只会读取一次源文件,为了避免每次发布/调试代码都需要手动重启swoft应用,swoft提供了自动重载代码的功能。文件重载管理进程swoft注册了一个名为reload的Process,该进程会在系统引导的最后一个阶段,即swoole启动前启动。该Process会启动名为reload的Bean//Swoft\Process\Bootstra
bromine
·
2020-07-15 23:08
C++ traits编程方法
转自:http://s99f.blog.163.com/blog/static/35118365200903111941380/侯捷老师在《STL
源码剖析
》说:traits编程方法是一把开启STL源代码大门的钥匙
gjt19910817
·
2020-07-15 23:35
我对C++ Traits编程技法的一点点理解
之后查过资料,但也不是十分明白,直到今天重新看了一下《STL
源码剖析
》,稍微有一些想法。1.traits是模板编程里面的一个编程技法。可能因为不是面向对象的,所以算不上一种设计模式。
Erorr
·
2020-07-15 22:20
编程语言
drf【第一篇】
源码剖析
view"""Basicbuildingblocksforgenericclassbasedviews.Wedon'tbindbehaviourtohttpmethodhandlersyet,whichallowsmixinclassestobecomposedininterestingways."""from__future__importunicode_literalsfromrest_fra
dfu65065
·
2020-07-15 22:22
Django rest framework认证
1.认证2.权限(授权)3.用户访问次数/频率限制4.版本5.解析器(parser)6.序列化7.分页8.路由系统9.视图10.渲染器一认证
源码剖析
DjangoRESTframework的认证方式由Django
承諾過往雲烟
·
2020-07-15 21:11
知识点总结
django
Template不能推导返回值
侯捷的《STL
源码剖析
》中提到“template参数推导机制”推而导之的只是参数,而无法推导函数的返回值类型,其意思是这样的:#includeusingnamespacestd;templateWAdd
charlie_2010
·
2020-07-15 21:17
c++编程
Iterator_traits到底有什么用?
最近在看《STL
源码剖析
》,到了讲iterator_traits的这一节(3.4)。实现它的代码倒是看得懂,但是对它的使用场景却是有点摸不着头脑。让我先贴一段代码,然后我们再慢慢看。
Baggiobx
·
2020-07-15 21:21
C++
STL
源码剖析
——deque的实现原理和使用方法详解
Deque简介deque是“double—endedqueue”的缩写,和vector一样都是STL的容器,deque是双端数组,而vector是单端的。deque在接口上和vector非常相似,在许多操作的地方可以直接替换。deque可以随机存取元素(支持索引值直接存取,用[]操作符或at()方法,这个等下会详讲)。deque头部和尾部添加或移除元素都非常快速。但是在中部安插元素或移除元素比较费
ChrisYoung1314
·
2020-07-15 20:29
STL源码剖析
Spark
源码剖析
——Action操作、runJob流程
文章目录Spark
源码剖析
——Action操作、runJob流程当前环境与版本前言供分析的代码collect源码分析DAGScheduler中的处理TaskScheduler中的处理CoarseGrainedSchedulerBackend
蒋含竹
·
2020-07-15 20:56
BigData
#
Spark
Scala
Traits 编程
最近看c++STL迭代器一章,对于迭代器中的Traits编程技巧进行了一下研究,参考了一些博友们的博文和侯捷老师得STL
源码剖析
一书,对Traits编程做一下自己的表述。1、一些相关背景的介绍。
过儿断的是右手
·
2020-07-15 19:48
原创
C++
Flink
源码剖析
:Flink Async I/O的三种模式
文章目录1.维表join2.richmapfunction2.1示例3.asyncio3.1示例3.2Ordered模式3.2.1生产3.2.2消费3.3基于processtime的unordered模式3.3.1生产3.3.2消费3.4基于eventTime的unordered模式3.4.1生产3.4.2消费4.总结1.维表join流计算系统中经常需要与外部系统进行交互,比如需要查询外部数据库以
四眼仔_
·
2020-07-15 19:13
Flink
libevent学习笔记
libevent学习笔记学习资料:链接:百度网盘提取码:jqsp包括libevent
源码剖析
,参考手册另外推荐一个网站:学习网站libevent工作结构libevent是高性能i/o网路库,基于reactor
通信男神杨丽斌
·
2020-07-15 18:35
工作
【面试必问】spark
源码剖析
之Standalone worker启动流程
spark
源码剖析
相关:sparkStandalonemaster启动流程https://blog.csdn.net/Mr_kidBK/article/details/105131444Standaloneworker
戴数据
·
2020-07-15 18:18
scala
spark
大数据
《STL
源码剖析
》-- stl_algobase.h
//Filename:stl_algobase.h//CommentBy:凝霜//E-mail:
[email protected]
//Blog:http://blog.csdn.net/mdl13412//这个文件中定义的都是一些最常用的算法,我仅仅给出一个思路,//不进行详尽讲解,具体算法请参考算法书籍,推荐《算法导论》//另外,对于基础薄弱的,推荐《大话数据结构》,此书我读了一下//试读章节
凝霜
·
2020-07-15 18:17
STL源码剖析
《STL
源码剖析
》---stl_algobase.h阅读笔记
STL标准中没有区分基本算法或复杂算法,单SGI把常用的一些算法定义在只中,其他算法定义在中。stl_algobase.h中的算法,比较值得学习的是copy(),它“无所不用其极”的改善效率。copy的目的是复制一段元素到指定区间,复制操作最容易想到赋值操作符=,但是有的赋值操作符=是trivial的,可以直接拷贝。关于赋值操作符=是不是trivial的,可以参考“Memberwisecopy(深
KangRoger
·
2020-07-15 17:40
STL
《STL
源码剖析
》---stl_construct.h阅读笔记
stl_construct.h主要讲解了对象的构造与析构。主要注意destroy()函数,它有两个版本,判断对象的析构函数是否是trivial的,如果是就不调用析构函数,否则才会调用析构函数。G++2.91.57,cygnus\cygwin-b20\include\g++\stl_construct.h完整列表/***Copyright(c)1994*Hewlett-PackardCompany*
KangRoger
·
2020-07-15 17:40
STL
Chrome
源码剖析
Chrome
源码剖析
序开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质。
wxdvc
·
2020-07-15 16:25
Chrome
源码剖析
、上--多线程模型、进程通信、进程模型
Chrome
源码剖析
、上原著:duguguiyu。整理:July。时间:二零一一年四月二日。出处:http://blog.csdn.net/v_JULY_v。
v_JULY_v
·
2020-07-15 15:30
28.Source
analysis
zz - boost
源码剖析
之:泛型编程精灵type_traits
boost
源码剖析
之:泛型编程精灵type_traits(rev#2)刘未鹏C++的罗浮宫(http://blog.csdn.net/pongba)动机使用traits的动机一般有三种,分派、效率、使某些代码通过编译
panda1987
·
2020-07-15 14:26
上一页
42
43
44
45
46
47
48
49
下一页
按字母分类:
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
其他