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
vuexvue.js源码学习
【JDK源码】java.lang包常用类详解
本次JDK
源码学习
系列以JDK1.7为准。观察JDK的源码,可以看到,java.lang包下面最为基础和常用的几个部分包括:常用的对象类型包,常用的异常类型包,常用的接
May的博客
·
2020-08-10 17:28
JDK
Tomcat
源码学习
blog 收集 - Tomcat
源码学习
(一)
引自http://carllgc.blog.ccidnet.com/blog-htm-do-list-uid-4092-type-blog-dirid-13354.htmlTomcat
源码学习
(一)作为一位
iteye_15896
·
2020-08-10 17:20
Tomcat
Tomcat
源码学习
笔记
tomcat7.0运行过程解析一、接口和类概况1.org.apache.catalina.Lifecycle接口:表示组件生命周期(1)签名:publicinterfaceLifecycle(2)基本流程:NEW-->init(INITIALIZING-->INITIALIZED)-->start(STARTING_PREP-->STARTING-->STARTED)-->stop(STOPPIN
c929833623lvcha
·
2020-08-10 15:38
Tomcat7源码解析
如何阅读
源码学习
总结
如何阅读一个大型项目代码对于程序员来说,写代码永远比读代码来的舒服。但现实情况是,程序员常常需要阅读其他人员写的代码,更多的时候这些代码可能即没文档也没注释。不过,好象有个人说过一句话,代码之前,了无秘密。运用适当的策略可以让阅读工作变的轻松很多。1.对于常用的系统函数进行追踪。比如ReadFile,CreateDevice,CreateWindow,在这些函数处放几断点,可以看到代码的调用过程。
bcbobo21cn
·
2020-08-10 15:59
Java
VC++
.Net
Android
手撸一个grpc服务发现+负载均衡+grpc负载均衡部分
源码学习
组件servergrpc的服务端首先需要三部分的组件:service为提供客户端响应;register是服务端每次启动时将自己的地址注册给注册中心;unregister是服务端每次终止时从注册中心清除掉自己的注册信息;registerfuncRegister(client*etcd3.Client,target,key,valstring,stopSignalchanos.Signal)error
byte
·
2020-08-10 15:08
golang
grpc
SparseArray、ArrayMap 实现原理学习
SparseArrayArrayMap源码来自:25.3.1/support-compat-25.3.1/android/android.support.v4.util.ArrayMap一、SparseArray实现
源码学习
xiaxl
·
2020-08-10 15:16
Android源码
数据结构
Java源码
基于IntelliJ IDEA 15.0.2的Tomcat7.0.69源码运行环境搭建
IntelliJIDEA15.0.2>Tomant7.0.69>源码环境搭建由于目前的工作内容调整,及重新进行职业规划,预备进行Tomcat
源码学习
。
weixin_33712881
·
2020-08-10 13:14
Tomcat
源码学习
前言·想法写这个系列最初的想法是,用了那么多的开源产品了,总该回报一下社会。虽然水平有限不能做个开源项目出来,但研究一下开源产品、记录一些心得,或许将来对有能力做开源项目的人有点帮助。毕竟中国对开源世界的贡献实在太小,我写些中文版的tomcat源码资料,就算没人用得着,我也当一种耐心的锻炼吧。因为真的要把这个系列写完整,肯定是相当考验我的耐心和毅力。虽然未来有各种不可预期的变故让这个系列最终虎头蛇
wangchengsi
·
2020-08-10 11:17
开源
深入 Java 集合系列之 ArrayList 源码解读
接下来,进入ArrayList的
源码学习
。
程序员托尼
·
2020-08-10 06:25
Java
Android 4.0.3 联系人(通讯录)应用
源码学习
Contacts应用入口类有2个:PeopleActivity.java和DialtactsActivity.java。PeopleActivity是联系人入口类,DialtactsActivity是拨号入口类,Contacts集成了联系人和拨号功能。Contacts主界面如图1所示:图1Contacts有三个标签页组成,最左边的是群组,中间的是所有联系人,右边是常用、收藏联系人。三个标签是Act
andevele
·
2020-08-10 05:46
android
android
contacts
联系人
通讯录
源码学习
之EllipsizingTextView
学习戚继光,一边儿读别人的源码,一边儿做笔记代码来源:https://gist.github.com/stepango/1dcf6055a80f840f9185/***A{@linkandroid.widget.TextView}thatellipsizesmoreintelligently.*Thisclasssupportsellipsizingmultilinetextthroughsett
weixin_33912445
·
2020-08-10 03:06
bootstrap
源码学习
:normalize(1)
经历了上次的打印篇,我们就到了重置初始化样式的部分,废话少说,咱继续观察html{box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-
weixin_30933531
·
2020-08-10 02:40
Redis
源码学习
(一)跳跃表数据结构
昨天就开始了Redis源码的学习,一口气看了很多,其中数据结构相对较复杂的且感兴趣的那就是跳跃表了,源码都是C。跳跃表由一个跳跃表控制头zskiplist跟节点zskiplistNode组成,其中zskiplistNode中含有level[]数组。typedefstructzskiplistNode{//成员对象robj*obj;//分值doublescore;//后退指针structzskipl
泮小俊233
·
2020-08-09 22:53
Redis
源码学习
Redis
跳跃表
BaseRecyclerViewAdapterHelper开源项目之BaseMultiItemQuickAdapter 实现多类型
源码学习
更多分享:http://cherylgood.cnversion:2.8.5今天我们来看下BaseRecyclerViewAdapterHelper是如何实现多布局的。首先我们要实现多类型布局,我们的adapter不再是继承自BaseQuickAdapter类,而是继承自其的子类BaseMultiItemQuickAdapter。而且数据源类型需要继承自MultiItemEntity,MultiI
Angels_安杰
·
2020-08-09 21:57
Android
Flume
源码学习
(一)Source介绍
Source是FlumeNG三大组件的第一个,是数据收集的来源,也是我们今天学习的主题。类图先来看一下Source组件类图:从上面类图,可以清晰看出,Source接口实现了NamedComponent接口和LifecycleWare接口。而AbstractSource抽象类可以看做是适配器模式的一种应用,实现了Source接口的所有业务不相关方法。关键接口声明接口名作用NamedCompone
workwithwebis3w
·
2020-08-09 15:51
bigdata
Flume
lodash 核心
源码学习
(基于4.17.11版本)
源码地址https://raw.githubusercontent.com/lodash/lodash/4.17.11-npm/core.js13行:varundefinedes5之前undefined可以被window.undefined='我被覆盖了'这样的操作所覆盖,所以定义了未初始化的undefined,此时undefined变量的值一定是undefined,避免全局undefined变量
weixin_34244102
·
2020-08-09 14:47
Flume源码之SpoolDirectorySource
SpoolDirectorySource是flume中的一个source,也是我们使用flume中经常接触到的一个source,最近正在使用flume的这个源,就把相关的
源码学习
了下。
jobinZhang
·
2020-08-09 12:03
Flume源码阅读
JDK
源码学习
-----java.lang.Object
概述/***Class{@codeObject}istherootoftheclasshierarchy.*Everyclasshas{@codeObject}asasuperclass.Allobjects,*includingarrays,implementthemethodsofthisclass.**@authorunascribed*@seejava.lang.Class*@sinceJ
求offer的菜鸡
·
2020-08-09 11:32
java
JDK源码
muduo
源码学习
(2):异步日志——异步日志的实现
目录什么是异步日志异步日志的实现前端与后端前端与后端的交互资源回收后端与日志文件滚动日志自动flush缓冲区开启异步日志功能总结在前文中分析了日志消息的存储和输出,不过并没有涉及到异步日志,下面就来分析一下异步日志是如何实现的。什么是异步日志在默认的情况下,日志消息都是直接打印到终端屏幕上,但是实际应用中,日志消息都应该写到本地文件,方便记录以及查询。最简单的方式就是每产生一条日志消息,都将其写到
HerofH_
·
2020-08-09 10:46
muduo
muduo
源码学习
(1):异步日志——日志消息的存储及输出
目录前言日志存储的实现日志输出的实现总结前言muduo中的日志,是诊断日志。用于将代码运行时的重要信息进行保存,方便故障诊断和追踪。日志一般有两种,一种是同步日志,一种是异步日志,同步日志就是当需要写出一条日志信息的时候,只有等到这条日志消息完全写出之后才能执行后续的程序,可见,这种方式的日志的问题就在于程序可能会阻塞在磁盘写入操作上;而另一种异步日志则不会,异步日志的思路是需要写日志消息的时候只
HerofH_
·
2020-08-09 10:15
muduo
SQLite3
源码学习
(16) test_vfs框架
test_vfs主要是用来做测试的,用来模拟文件系统出错的,代码实现在test_vfs.c里面。对于一些诸如机械故障、文件系统空间耗尽的错误是很难实际测出来的,test_vfs在OS接口层和VFS之间插入一层测试的VFS用来模拟文件系统出错,进而验证SQLite对错误处理的稳定性。由Tcl脚本来控制模拟,在正常情况下还是调用原来的VFS。1.注册VFS在Tcl中使用格式如下:testvfsVFSN
偏飞123
·
2020-08-09 10:41
SQLite
完全搞懂CoordinatorLayout Behavior之实战一
完全搞懂CoordinatorLayoutBehavior你能做些什么完全搞懂CoordinatorLayoutBehavior系列之API讲解完全搞懂CoordinatorLayoutBehavior之
源码学习
完全搞懂
HopCoder
·
2020-08-09 07:27
高级UI
ARouter
源码学习
之Compiler
ARouter
源码学习
之Compiler官方文档:Android平台页面路由框架ARouter阿里巴巴Aroutergithub地址如下:ARoutergitHub地址ARouter我的学习注释GitHub
xiaxl
·
2020-08-09 07:08
Android源码
brpc
源码学习
(三)- WorkStealingQueue
每个bthread_worker都有自己的work_steal_queue,bthread_worker会从自己queue里pop数据进行处理,如果自己的queue为空,则尝试去其他bthread_worker的queue中steal,所以当前queue不会发生pop和push并发的情况;可能发生并发的情况为,steal和steal,steal和push,steal和pop;为了避免锁的开销,br
KIDGIN7439
·
2020-08-09 06:32
计算机体系结构
brpc
brpc
源码学习
(四)- bthread调度执行总体流程
bthread调度整体流程如下图所示全局单例task_control有多个task_group,每个task_group内有两个执行队列_rq和_remote_rq,执行队列中存放着待执行的bthread。TaskGroup对应一个pthread,初始化函数如下,创建rq和remote_rq,创建main_stack和main_tid;main_tid代表主流程,后面会具体讲main_stack和
KIDGIN7439
·
2020-08-09 06:32
brpc
brpc
源码学习
(二)-bthread的创建与切换
brpc引入m:n的线程模型,固定的内核线程调度运行大量的bthread以避免内核线程上下文切换带来的开销。bthread类似协程,即用户态线程,bthread的切换不会陷入内核,不会进行一系列内存同步等耗时操作,因此bthread的切换在100-200ns,相比内核线程的微秒级别有着数量级的提升。为了实现协程需要协程栈,协程的初始化,以及协程间的切换,下面来逐一分析这几个过程。首先看下协程栈的结
KIDGIN7439
·
2020-08-09 06:31
计算机体系结构
brpc
brpc
源码学习
(一)-butex
由于brpc中引入了bthread,如果在bthread中使用了mutex,那么将会挂起当前pthread,导致该bthread_worker无法执行其他bthread,因此类似pthread和futex的关系,brpc引入butex来实现bthread粒度的挂起和唤醒。首先看下butex中使用到的FastPthreadMutex,FastPthreadMutex是基于futex实现的pthrea
KIDGIN7439
·
2020-08-09 06:31
brpc
计算机体系结构
带你一起探究Retrofit 源码,让你不再畏惧Retrofit的面试提问
Retrofit,OkHttp,OkioSquare安卓平台网络层三板斧
源码学习
基于retrofit2.4.0-SNAPSHOT版本retrofitgithub地址:https://github.com
weixin_34356138
·
2020-08-09 05:19
IOS播放PCM数据
关于PCM播放器
源码学习
是本文要介绍的内容,由于原始PCM文件不能容纳任何关于其自身频率或者帧大小之类的信息,本例将不得不对此自行设置。
南瓜饼
·
2020-08-09 02:26
IOS_音频开发
element
源码学习
二 —— 简单组件学习
上一篇博客中学习了项目的结构,这篇博客来学几个简单的组件的实现。在上一篇博客中我们提到了组件的源码都是存放在packages目录下的,所以我们从中挑一些组件来学习。先从简单的入手,来学习button、radio、checkbox和InputNumber这四个组件的源码~Button找到packages/button/目录下,先看看index.js做了什么?importElButtonfrom'./
weixin_34301132
·
2020-08-09 00:24
javascript
ui
vue
源码学习
:Object.defineProperty 对象属性监听
参考版本vue源码版本:0.11相关vue实现双向数据绑定的关键是Object.defineProperty,让我们先来看下这个函数。在MDN上查看有关Object.defineProperty的解释。我们先从最简单的开始:leta={'b':1};Object.defineProperty(a,'b',{enumerable:false,configurable:false,get:functi
WWWWWWWWolf
·
2020-08-09 00:07
vue
源码学习
:Object.defineProperty 对数组监听
上一篇中,我们介绍了一下defineProperty对对象的监听,这一篇我们看下defineProperty对数组的监听数组的变化先让我们了解下Object.defineProperty()对数组变化的跟踪情况:vara={};bValue=1;Object.defineProperty(a,"b",{set:function(value){bValue=value;console.log("se
_miccretti
·
2020-08-09 00:57
jQuery
源码学习
之七 (jQuery中扩展方法)
接下来分析扩展到jQuery的方法jQuery.extend({...isFunction:判断传入的是否是函数,isArray:判断传入的是否是数组,isWindow:判断传入的是否是window对象,isNumeric:判断传入的是否是num,type:判断传入参数的类型,isPlainObject:,isEmptyObject:参数是否是空对象,error:抛出错误, ...})isFunc
weixin_30780649
·
2020-08-08 23:13
libevent
源码学习
(14):IO复用模型之epoll的封装
目录Libevent提供的epoll后端结构体初始化epoll_init何时调用epoll_init事件添加epoll_nochangelist_add何时调用epoll_nochangelist_add事件删除epoll_nochangelist_del何时调用epoll_nochangelist_del事件监听epoll_dispatch为什么evmap_io_active的第三个参数需要或上
HerofH_
·
2020-08-08 19:39
libevent源码学习
parent proxy
源码学习
基于ATS7.0.0代码研究(与ATS6.1.1相差不大)UML图:notes:1.ParentRecord与pRecord:ParentRecord对应一条parent.config记录,pRecord对应一个回源IP或域名,即parent或secondary_parent都可以配置多个下一跳的IP或域名,ParentRecord中包含主(备)parent(secondary_parent)两个
lx_shudong
·
2020-08-08 17:42
ATS
jq
源码学习
6_通过each方法填充class2type映射表
//6.通过each方法填充class2type映射表/*实际上生成了如下对象:class2type={ "Boolean":"boolean", "Number":"number", "String":"string", "Function":"function", "Array":"array", "Date":"date", "RegExp":"re
chunchun1230
·
2020-08-08 14:32
JQuery源码学习
struts2源码探索之初始化(三)
在上一篇struts2
源码学习
之初始化(二)中已经详细介绍了Dispatcher的初始化工作,只差最后一点,容器的创建。这一篇就仔细介绍容器的创建过程,初始化过程以及容器的作用。
chenzhich
·
2020-08-08 01:24
struts2
struts2
源码学习
之初始化(一)
看struts2源码已有一段时日,从今天开始,就做一个总结吧。首先,先看看怎么调试struts2源码吧,主要是以下步骤:使用Myeclipse创建一个web工程导入struts2需要的jar包如图:让jar包关联源文件在上图中的jar包右键,选择properties->javasourceattach,如果关联成功,双击jar包下的某个class文件就会显示java源代码了。双击.class文件,
chenzhich
·
2020-08-08 01:24
struts2
struts2
源码学习
之初始化(二)
在上一篇struts2
源码学习
之初始化(一)中,详细描述了StrutsPrepareAndExecuteFilter的init()的主要工作,这一篇就详细说说Dispatcher。
chenzhich
·
2020-08-08 01:52
struts2
apollo学习基础之三[适配器adapter学习]
adapter学习]目录apollo学习基础之三[适配器adapter学习]1.适配封装设计2.AdapterManager的设计3.总结归纳:我们知道,百度优化了ROS,使用ros的通信机制,但是我们在
源码学习
中
ycy_dy
·
2020-08-08 01:25
apollo
一篇搞定导航守卫(vue-router
源码学习
)
vue-router导航守卫在本期文章中,我将为大家梳理弄明白以下几个事情,1:导航守卫的执行顺序是怎么样的?2:导航守卫中的next的用处?3:为什么afterEach守卫没有next?4:beforeEach是否可以叠加?5:路由跳转经历了哪几部分?在之前说过的一个内容router实例的history属性帮助我们做了所有跳转部分的事情,所以导航守卫的内容也在history中。我们以HTML5H
weixin_33923762
·
2020-08-07 20:58
从
源码学习
设计模式之模板方法
什么是模板方法模式?摘录wiki的介绍。模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。在软件工程中,它是一种软件设计模式,和C++模板没有关连。模板设计方法存在目的在于某些算法逻辑存在一些相同处,而具体细节却不同。这样使用模板方法,可以抽取共用逻辑到父类,在子类实现具体算法细节,这样减少了重复代码。模板方法
程序通事
·
2020-08-07 20:42
设计模式
Launcher2
源码学习
本文基于Android5.1.1版本。Launcher、Launcher2(2.2(Froyo)之后)和Launcher3(4.4(KitKat)之后)其实是一样的,只是Launcher2里面加入了3D,Launcher3桌面长按又可以直接呼叫小工具了,工具列配置不同,桌面数自动增减及无限化。Launcher2源码编译Launcher2源码位置在/package/apps/Launcher2。如果
他叫小黑
·
2020-08-07 19:02
Android源码
从vue-cli
源码学习
如何写模板
vue-cli是vuejs官方提供的基于vuejs的项目脚手架工具,可以很快的帮助vuejs开发者搭建一个startup项目,免去环境配置的繁琐,开箱即用.今天就来看下vue-cli的实现.vue-cli的版本是2.8.2vue-initvueinit是基于第三方模板生成项目的命令.先看下其整体流程:首先,vuecli获取到输入的参数:#vue-cli/bin/vue-init//...varte
会飞的Pikachu
·
2020-08-07 18:51
Web
vue
vue-js
vue-cli
graphx初涉,结合
源码学习
一
Graphx中的重要概念graph1.graph成员变量有:vertices,edges,triplets.2.在triplets中,同时记录着edge和vertex成员函数函数分成几大类对所有顶点或边的操作,但不改变图结构本身,如mapEdges,mapVertices子图,类似于集合操作中的filtersubGraph图的分割,即paritition操作,这个对于Spark计算来说,很关键,正
汪本成
·
2020-08-07 18:41
大数据-Graphx
(两百三十三)android Q Stack
源码学习
前言:leetcodestack相关的简单题刷了第一遍,感觉还是挺简单的,学习一下stack的jdk源码,加深下理解。1.继承关系classStackextendsVector{publicclassVectorextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.Serializablepublicabstractcla
i加加
·
2020-08-07 18:32
Android
Vue
源码学习
系列02——Vue的初始化都做了什么
博客更新地址啦~,欢迎访问:https://jerryyuanj.github.io/开始之前,我们先看看src目录的结构目录结构compiler编译器corevue的核心部分,包含响应式原理、vdom,内部组件等platforms因为vue是跨平台的(web与weex),在不同平台的编译、运行等行为有所不同,所以这里是给这两个平台量身定制的server服务端渲染相关sfc单文件组件的解析shar
袁杰Jerry
·
2020-08-07 16:59
前端
vue
vue2源码学习
SQLite3
源码学习
(31) WAL日志的锁机制
1.锁的原理先来回顾一下回滚日志的文件锁,之前的锁是针对数据库文件加锁的,有4种类型,分别是shared、reserverd、pending和exclusive。在WAL日志模式下不再使用原来的锁,只有在WAL日志模式和回滚日志模式切换的时候才使用shared锁和exclusive锁,其他时候使用WAL模式独有的锁,这种锁是针对WAL-index文件加锁的。文件锁的加锁位置是在数据库文件的0x40
偏飞123
·
2020-08-07 15:43
SQLite
SQLite3
源码学习
(30) WAL-Index文件中的hash表
1.hash表格式在SQLite提供了一种WAL(Write-AheadLogging)的日志模式,不同于传统的日志模式,这种模式先把数据更新写到日志,当日志中的记录大到一定程度后再把日志中的记录刷新到数据库。在这种日志模式中,读一页数据通常先在WAL日志中查找,如果找不到再从数据库读取。如果WAL日志文件特别大的时候,要在日志中查找某一页是否存在时是一个非常耗时的工作,因此SQLite提供了WA
偏飞123
·
2020-08-07 15:42
SQLite
sqlite
wal
hash表
SQLite3
源码学习
(32) WAL日志详细分析
在前面2篇文章讲了有关WAL日志相关的一些基础知识:SQLite3
源码学习
(31)WAL日志的锁机制SQLite3
源码学习
(30)WAL-Index文件中的hash表接下来分析一下在WAL日志模式下,整个事务的处理机制和流程
偏飞123
·
2020-08-07 10:07
SQLite
上一页
38
39
40
41
42
43
44
45
下一页
按字母分类:
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
其他