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源码学习
Spring
源码学习
08:register 注册配置类
前言看完无参构造的源码及流程之后,后面将会执行register方法。register方法,入参是我们的配置类JavaConfig.class,下面跟着源码继续往下走!源码分析this.reader.register(componentClasses);这里执行的是reader的方法,入参就是传入的JavaConfig.class。reader在之前初始化,就是注册一些PostProcessor。循
程序员小航
·
2020-12-23 10:44
spring
源码学习
源码
vue依赖缓存_[VUE]computed属性的数据响应和依赖缓存实现过程
本文是一篇vue.js
源码学习
笔记,适合对vue的数据响应实现有一定了解的同学,文中有表述不准确的地方还望指出。
weixin_39934613
·
2020-12-19 23:43
vue依赖缓存
从 rollup 初版
源码学习
打包原理
前言为了学习rollup打包原理,我克隆了最新版(v2.26.5)的源码。然后发现打包器和我想像的不太一样,代码实在太多了,光看d.ts文件就看得头疼。为了看看源码到底有多少行,我写了个脚本,结果发现有19650行,崩溃...这就能打消我学习rollup的决心吗?不可能,退而求其次,我下载了rollup初版源码,才1000行左右。我的目的是学习rollup怎么打包的,怎么做tree-shaking
谭光志
·
2020-12-16 12:48
前端
javascript
rollup
Spring
源码学习
07:ClassPathBeanDefinitionScanner
前言AnnotationConfigApplicationContext构造函数除了初始化一个reader,还有一个scanner,下面来一起看看ClassPathBeanDefinitionScanner都有什么逻辑。源码分析this.scanner=newClassPathBeanDefinitionScanner(this);代码如下所示:其中useDefaultFilters默认设置的tr
程序员小航
·
2020-12-16 01:58
spring
源码
源码学习
Spring
源码学习
07:ClassPathBeanDefinitionScanner
前言AnnotationConfigApplicationContext构造函数除了初始化一个reader,还有一个scanner,下面来一起看看ClassPathBeanDefinitionScanner都有什么逻辑。源码分析this.scanner=newClassPathBeanDefinitionScanner(this);代码如下所示:其中useDefaultFilters默认设置的tr
程序员小航
·
2020-12-16 00:14
spring
源码
源码学习
Mybatis
源码学习
---(step-01)概述&计划
1.常用的持久层框架比较在实际开发Java系统时,我们一般通过JDBC完成多种数据库操作。其主要步骤如下:(1)注册数据库驱动,明确数据库URL地址、数据库用户名、密码等连接信息(2)通过DriverManager打开数据库连接2IMyBatis技术内幕(3)通过数据库连接创建Statement对象(4)通过Statement对象执行SQL语句,得到ResultSet对象(5)从ResultSet
swalikh
·
2020-12-15 19:02
mybatis源码学习研读
mybatis
源码
java
preact
源码学习
(1)
preact是目前最小的react兼容库了,因此学习它对提升anujs有很大的帮助。preact的一些模块非常简单。//vnode.jsexportfunctionVNode(){}一句话一个模块,其实这个在preact-compat会被扩展原型。//util.js//糅杂,相当于es6的Object.assignexportfunctionextend(obj,props){for(letiin
司徒正美
·
2020-12-12 20:28
react.js
spring
源码学习
-下载编译(idea版本)
spring源代码下载github上spring源代码地址:https://github.com/spring-pro...,直接从该项目上下载源代码gitclonehttps://github.com/spring-projects/spring-framework.git这个地址下载是非常慢,有可能还会中途失败,这里告诉个小技巧,对于github上热门的项目,我们都可以在其镜像站中查找并下载:
清华
·
2020-12-11 15:53
java
spring
Spring
源码学习
06:AnnotatedBeanDefinitionReader
前言BeanDefinition的概念也了解了,也知道一个Bean在Spring中定义的信息有哪些之后,继续言归正传。源码分析在初始化时会先生成一个reader,进入方法,其实是走的下面的逻辑:其中getOrCreateEnvironment(registry)会返回一个Environment用来表示当前的运行环境之类的。ConditionEvaluator是用来完成对@Conditional这个
程序员小航
·
2020-12-10 14:03
java
spring
源码
源码学习
Spring
源码学习
06:AnnotatedBeanDefinitionReader
前言BeanDefinition的概念也了解了,也知道一个Bean在Spring中定义的信息有哪些之后,继续言归正传。源码分析在初始化时会先生成一个reader,进入方法,其实是走的下面的逻辑:其中getOrCreateEnvironment(registry)会返回一个Environment用来表示当前的运行环境之类的。ConditionEvaluator是用来完成对@Conditional这个
程序员小航
·
2020-12-10 14:18
java
spring
源码
源码学习
Spring
源码学习
05:BeanDefinition 概念及其实现
前言BeanDefinition:顾名思义,就是Bean的定义,是用来描述一个Bean都有什么信息。前面说在初始化DefaultListableBeanFactory时,会初始化一个Map,这个Map的功能暂且不说,(PS:查资料说的是存储bean),所以今天就结合官方文档以及源码,一起了解一下BeanDefinition!概念在容器内部,使用BeanDefinition对象定义一个Bean。而定
程序员小航
·
2020-12-08 15:05
java
spring
源码
源码分析
Spring
源码学习
05:BeanDefinition 概念及其实现
前言BeanDefinition:顾名思义,就是Bean的定义,是用来描述一个Bean都有什么信息。前面说在初始化DefaultListableBeanFactory时,会初始化一个Map,这个Map的功能暂且不说,(PS:查资料说的是存储bean),所以今天就结合官方文档以及源码,一起了解一下BeanDefinition!概念在容器内部,使用BeanDefinition对象定义一个Bean。而定
程序员小航
·
2020-12-08 14:25
java
spring
源码
源码分析
真的有必要去学习源码吗?
但是如果你想在IT领域有一定的成就,那
源码学习
是你一条必经之路。我见过不少初级工程师,开发出来的程序逻辑上没有问题,但是性能低下。程序上线就承受巨大压力,甚至引发性能故障,严重影响个人业绩。
python-讲
·
2020-12-06 03:33
python
程序员
真的有必要去学习源码吗?
但是如果你想在IT领域有一定的成就,那
源码学习
是你一条必经之路。我见过不少初级工程师,开发出来的程序逻辑上没有问题,但是性能低下。程序上线就承受巨大压力,甚至引发性能故障,严重影响个人业绩。
python-讲
·
2020-12-06 03:26
python
程序员
loadash.js
源码学习
笔记(2)
个人记忆lodash.js->Array->difference用法返回一个去重后的数组,每个值不包含在其他数组参数中。结果值的顺序是由第一个数组中的顺序确定。例子_.difference([1,2,3],[3],[1,5])//==>[2];源码理解difference(array,values,iteratee,comparator){varindex=-1,includes=arrayInc
hogo呀
·
2020-12-04 18:46
javascript
loadash.js
源码学习
笔记(1)
lodash.js->Array->chunk用法将数组拆分为等长的若干个新数组组成的二维数组,如果无法被分割成全部都等长的新数组,那么最后剩下的数组元素将组成最后一个数组。例子_.chunk([1,2,3,4,5,6],3)//==>[[1,2,3],[4,5,6]];//3为等长的长度参数,取消参数则默认长度为1源码理解functionchunk(array,size,guard){if((g
hogo呀
·
2020-12-04 18:22
javascript
loadash.js
源码学习
笔记(2)
个人记忆lodash.js->Array->difference用法返回一个去重后的数组,每个值不包含在其他数组参数中。结果值的顺序是由第一个数组中的顺序确定。例子_.difference([1,2,3],[3],[1,5])//==>[2];源码理解difference(array,values,iteratee,comparator){varindex=-1,includes=arrayInc
hogo呀
·
2020-12-04 18:05
javascript
Android 进阶学习(十四) Glide
源码学习
(三) DecodeJob 分析
Glide中的DecodeJob得工作其实是比较乱的,看的我真是不要不要的,真想说readthef**kingsourcecode今天继续昨天的DecodeJob来分析,先来捋一捋整个图片第一次加载流程,这里我们将它分为4步1.根据当前的url宽高还有其他信息,去查找已经在磁盘上面按照图片的宽高缓存好的图片,并一层一层向上返回2.如果按照宽高没有找到,则尝试寻找没有宽高的原图,如果存在原图,那么将
Tsm_2020
·
2020-12-04 10:14
loadash.js
源码学习
笔记(1)
lodash.js->Array->chunk用法将数组拆分为等长的若干个新数组组成的二维数组,如果无法被分割成全部都等长的新数组,那么最后剩下的数组元素将组成最后一个数组。例子_.chunk([1,2,3,4,5,6],3)//==>[[1,2,3],[4,5,6]];//3为等长的长度参数,取消参数则默认长度为1源码理解functionchunk(array,size,guard){if((g
hogo呀
·
2020-12-03 20:37
javascript
Android 进阶学习(十二) Glide
源码学习
(一) 图片加载过程
Glide作为Google出品的图片加载库,在开发的过程中对我们的帮助是非常大的,网上也有很多关于他的文章,说他怎么怎么好,但是他就是再好我们如果不知道他的原理也肯定是记不住的,而且关于图片的操作在面试过程中是必然要问到的,如果你只是知道怎么用的话肯定是不能打动面试官的,如果你能从源码方面说一下,肯定会让对方眼前一亮的,废话不多说,我们由简入繁的开始分析一下一张图片在Glide都经历了什么,想要弄
Tsm_2020
·
2020-12-03 17:39
Spring
源码学习
04:初始化容器与 DefaultListableBeanFactory
前言在前一篇文章:创建IoC容器的几种方式中,介绍了四种方式,这里以AnnotationConfigApplicationContext为例,跟进代码,看看IoC的启动流程。入口从JavaConfig中加载配置的AnnotationConfigApplicationContext启动方式如下:进去之后发现构造其实是调用的当前无参构造。所以在启动时也可以直接声明无参构造,改写为下面这种:public
刘志航
·
2020-12-03 08:07
后端
spring
源码
源码学习
Spring
源码学习
04:初始化容器与 DefaultListableBeanFactory
前言在前一篇文章:创建IoC容器的几种方式中,介绍了四种方式,这里以AnnotationConfigApplicationContext为例,跟进代码,看看IoC的启动流程。入口从JavaConfig中加载配置的AnnotationConfigApplicationContext启动方式如下:进去之后发现构造其实是调用的当前无参构造。所以在启动时也可以直接声明无参构造,改写为下面这种:public
刘志航
·
2020-12-03 08:03
后端
spring
源码
源码学习
Spring
源码学习
03:创建 IoC 容器的几种方式
前言在上一篇文章末尾画了一幅简图,现在从简图这入手,先来看看如何创建容器!创建容器在搭建Spring源码阅读环境时,最后举了一个例子,其实就是创建容器,并从容器中获取Bean,来测试环境是否OK。根据元数据的不同,创建容器的方式也不同,下面参考官方文档,简单介绍下创建容器的几种方式:Java配置获取元数据publicclassAnnotationConfigApplicationTest{publ
刘志航
·
2020-12-03 03:57
后端
spring
源码
源码学习
Spring
源码学习
03:创建 IoC 容器的几种方式
前言在上一篇文章末尾画了一幅简图,现在从简图这入手,先来看看如何创建容器!创建容器在搭建Spring源码阅读环境时,最后举了一个例子,其实就是创建容器,并从容器中获取Bean,来测试环境是否OK。根据元数据的不同,创建容器的方式也不同,下面参考官方文档,简单介绍下创建容器的几种方式:Java配置获取元数据publicclassAnnotationConfigApplicationTest{publ
刘志航
·
2020-12-02 11:17
后端
spring
源码
源码学习
Dubbo2.7.3版本
源码学习
系列七: Dubbo服务引入源码解析
前言上篇文章:Dubbo2.7.3版本
源码学习
系列六:Dubbo服务导出源码解析咱们了解了服务导出的过程,这里再提一下,服务导出分为三个阶段1、前置工作:主要用于检查参数、组装URL类似于Spring在初始化
AvengerEug
·
2020-12-01 20:44
Dubbo
dubbo
微服务
分布式
Spring
源码学习
02:关于 Spring IoC 和 Bean 的概念
前言在前一篇文章中介绍了如何构建源码阅读环境,既然构建好了源码环境,本地也可以正常运行,那就开始阅读源码吧!在阅读源码时,会参考官方文档,很多概念在官网都可以得到答案,有兴趣的小伙伴们可以继续阅读,当做复习,写的不足之处,希望多多指导。IoC和DIIoCIoC(InversionofControl),即控制反转。之前是在对象内部new创建其他对象,然后使用。而现在Spring中有一个容器可以在创建
刘志航
·
2020-12-01 14:57
spring
源码
源码学习
ioc
Spring
源码学习
02:关于 Spring IoC 和 Bean 的概念
前言在前一篇文章中介绍了如何构建源码阅读环境,既然构建好了源码环境,本地也可以正常运行,那就开始阅读源码吧!在阅读源码时,会参考官方文档,很多概念在官网都可以得到答案,有兴趣的小伙伴们可以继续阅读,当做复习,写的不足之处,希望多多指导。IoC和DIIoCIoC(InversionofControl),即控制反转。之前是在对象内部new创建其他对象,然后使用。而现在Spring中有一个容器可以在创建
刘志航
·
2020-12-01 13:37
spring
源码
源码学习
ioc
如何在JavaScript中实现一个Long型——Long.js
源码学习
与分析
背景由于在项目中使用到了WebSocket的自定义二进制协议,需要将二进制转为后端服务中定义的Long型。而在JavaScript中的Number类型由于自身原因,并不能完全表示Long型的数字,因此需要我们通过其他的方式来对Long型值进行存储。目标在GitHub中,有一个实现了在JavaScript中存储Long型的对象,具体代码可以戳此。下面,我们通过简单讲解一下这个库的具体实现来看看如何在
hjava
·
2020-11-30 00:28
javascript
Vue
源码学习
- 数据驱动
Vue
源码学习
-数据驱动数据驱动newVue()发生了什么总结-newVue()Vue实例挂载的实现总结-Vue实例挂载的实现render总结-renderVirtualDOM总结-VirtualDOMcreateElementchildren
陈坚泓
·
2020-11-28 18:06
Vue
Vue源码学习
数据驱动
spring/springboot的整合分布式配置中心(ACM diamond nacos Apollo)
注:本文篇幅有点长,所以建议各位下载
源码学习
。(如需要请收藏!转载请声明来源,谢谢!)
逍遥壮士
·
2020-11-21 22:30
spring
集成
maven
分布式
java
spring
zookeeper
spring
boot
spring源码分析2 —— 源码引用、注释、调试
前言上一张我们学习了如何编译spring源码并导入Idea,并进行测试,spring源码分析1——源码下载、编译、导入,本章我们来探讨关于源码分析的方法,在
源码学习
中许多人开始抱着热情进入,但没多久就心灰意冷
Lawrence
·
2020-11-18 23:50
spring
源码分析
Vue
源码学习
---调试环境的搭建
注意:文件的目录里边最好不要有中文!!!调试环境搭建1.安装依赖npmi(注意:win10需要管理员权限打开vscode)2.安装rollupnpmi-grollup(rollup是打包工具,用于打包纯代码项目)3.修改dev脚本"dev":"rollup-w-cscripts/config.js--sourcemap--environmentTARGET:web-full-dev",(添加sou
酱酱子_
·
2020-11-16 23:56
vue源码解析
vue
228页的 《重学TS》PDF 终于来了,一份值得一读的 TS 学习资料
因此在团队内策划了TS项目
源码学习
的专题,目前已经学完4个开源项目。以下是阿宝哥
阿宝哥
·
2020-11-16 13:55
javascript
typescript
设计模式
学习资料
SprinBoot2 | Spring IOC
源码学习
笔记
概述SpringIOC过程实质是通过SpringBoot提供的注解,将需要注入的bean信息存入BeanDefinition中(包含类路径、类名、类的范围(单例,多例)、类属性等信息)并注册到DefaultListableBeanFactory中(实际存入beanDefinitionMap,mergedBeanDefinitions中)。SprinBoot版本:2.2.7.RELEASE入口IOC
qq_39220528
·
2020-11-13 16:10
SpringBoot
spring
boot
裸辞闭关2个月,成功进大厂!吃透这份578页NDK开发笔记,化身offer收割机!
如插件化,如性能优化,如高级自定义控件,如
源码学习
等等。把这些玩会了,也很牛比了,可把这些都掌握的一个学习周期太长了,对于我一个已经裸辞的人,伤不起啊!如是就想到另辟蹊径,在短时间把NDK学到精通。
Android_boom
·
2020-11-05 16:42
Android
程序员
NDK
android
java
编程语言
c++
c#
jQuery
源码学习
笔记(2)
正则篇一、参考资料来源:正则工具:https://www.debuggex.com/正则教程:http://www.cnblogs.com/China3S/archive/2013/11/30/3451971.html《常用正则表达式》二、正则方法汇总:^\s+|\s+$,//去掉首尾空格^[A-Za-z]+$,//匹配不区分大小写的英文字母组成的字符串,也可以写成:^[a-z]+$/i^[a-z
一捆稻草
·
2020-10-11 15:05
element
源码学习
(番外篇) —— SASS五分钟快速入门
这算是element
源码学习
的番外篇,因为element中使用了大量sass来写样式。而UI框架的核心其实就是样式。所以,抽空把sass学了一遍,写了些小demo实践,总结成此文。
VioletJack
·
2020-10-11 13:42
k8s
源码学习
- Scheduler笔记(1)
任务:找到scheduler的入口(1)k8s代码目录结构cmd:所有的二进制可执行文件入口代码,也就是各种命令的接口代码。pkg:项目diamante主目录,cmd只是接口,这里是具体实现。cmd类似业务代码,pkg类似核心(2)寻找k8s入口函数cmd/kube-scheduler/scheduler.go:34main函数->cmd/kube-scheduler/app/server.go:
zoux
·
2020-10-11 10:28
grpc server
源码学习
grpcserver
源码学习
如何实现一个最简单的grpcserver//创建listenerlis,err:=net.Listen("tcp",port)iferr!
byte
·
2020-10-10 23:41
golang
grpc
golang context
源码学习
golangcontext
源码学习
使用实例context设置超时的例子funcmain(){ctx,cancel:=context.WithTimeout(context.Background(),1*
byte
·
2020-10-10 23:40
golang
Android init进程--属性服务器
android
源码学习
目录背景对于系统或者应用程序来说,系统或应用会将自己的一些属性存储到注册表或者硬盘的文件上,这样系统或者应用在重启时会读取属性进行系统初始化,这样系统或者应用就会按照我们希望的方式来运行
覆水无言
·
2020-10-10 21:28
Android init进程
android
源码学习
目录目录androidinit进程init进程--属性服务器init进程--init.rc解析与zynote进程启动介绍Androidinit进程是Android系统中用户空间的第一个进程
覆水无言
·
2020-10-10 02:00
Netty
源码学习
(4)--新连接接入
NioEventLoop中已经知道,当服务端绑启动之后,服务端的channel已经注册到boosreactor线程中,reactor不断检测有新的事件,直到检测出有accept事件发生。当程序进入processSelectedKey方法中时,判断条件SelectionKey.OP_READ表示boosreactor线程已经轮询到SelectionKey.OP_ACCEPT事件,说明有新的连接进入,
未名枯草
·
2020-10-09 23:22
Android Init Language(安卓初始化语言)
android
源码学习
目录了解Androidinit进程的都知道,启动init进程之前会解析init.rc文件,init.rc是Android的配置文件脚本,它由一种被称为"Android初始化语言"-
覆水无言
·
2020-10-09 22:54
SpringBoot的启动--
源码学习
启动springboot启动代码如下:@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}代码显示,main方法中执行SpringApplication的静态方法run(),run方法中会构造一个
未名枯草
·
2020-10-09 20:54
【
源码学习
】ScatteringByteChannel的read方法
ScatteringByteChannel在java.nio.channels包中,继承了AutoCloseable,Channel,Closeable,ReadableByteChannel接口所有的实现类为:DatagramChannel,FileChannel,Pipe.SourceChannel,SocketChannelScatteringByteChannel是一个通道,可以将Chan
一只积累鸭
·
2020-10-09 19:45
源码
学习
read
ByteChannel
Redis
源码学习
(2)-Redis中的动态字符串实现(上)
在src/sds.h中定义了Redis中的动态String类型,这意味着,使用者仅仅需要调用接口API就可以向String加入数据,而不需要关心扩容的问题。Redis使用typedefchar*sds;来描述这个动态String,其在内存中的分布格式为一个StringHeader以及在StringHeader后面一段连续的动态内存,而sds则是指向StringHeader后面的连续内存的第一个字节
马基雅维利
·
2020-10-09 13:12
redis
linux
c
Redis
源码学习
(1)-Redis中的双端链表实现
Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis的源代码比较小巧精干,早期版本只有两万多行代码,即使是本系列所用的5.0.8版本的源代码,其代码量也不超过十万行,非常适合于学习。本系列将从基础的与其他部分关联度不大的基础数据结构开始,逐步探寻Redis系统设计的精妙之处,而笔者作为初学者,亦将此作为自
马基雅维利
·
2020-10-09 13:40
redis
linux
c
AtomicReference
源码学习
接着前两篇的AtomicBoolean和AtomicInteger再来看看AtomicReference类上的注释说明:Anobjectrefenrencethatmaybeupdatedatomically.用来原子更新对象的引用。一、AtomicRefenrence属性privatestaticfinalUnsafeunsafe=Unsafe.getUnsafe();privatestatic
吕纬甫
·
2020-10-09 12:27
源码学习
java
AtomicInteger
源码学习
先看一下AtomicInteger类上的注释:'...AnAtomicIntegerisusedinapplicationssuchasatomicallyincrementedcounters,andcannotbereplacementforanInteger.However,thisclassdoesextendNumbertoallowuniformaccessbytoolsandutil
吕纬甫
·
2020-10-09 12:26
java
源码学习
上一页
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
其他