前言 在看MongoDB源码的时候,经常会看到这个玩意儿:invariant。 invariant的字面意思是:不变式。 在emacs上跳转到函数定义要安装一个插件,ggtags,费了老大劲儿。这都可以重开一篇写一下了。 invariant的定义如下: 定义真的是恶心啊。。。 BOOST_PP_OV ...
分类:
其他好文 时间:
2018-11-24 18:01:14
阅读次数:
238
说明:本博文是博主学习 Instrumentation 历程的总结,整合了学习过程中参考的关于Instrumentation 的教程,并加入博主自己的见解和实例。 参考链接: Instrumentation 新功能 JDK源码-java.lang.instrument-第一部分-源码学习 Instr ...
分类:
编程语言 时间:
2018-11-13 13:11:16
阅读次数:
194
打开一看,原来相关代码并不多,下面看下细节 主要方法也就是注册,取消注册和发送事件,可以看到两个主要的变量就是subscribers和dispatcher 首先看下注册类中做了什么,在下面的注册类中,可以看到首先调用了这个方法,对传入的listener类型,利用反射拿到信息 debug下就清楚了 注 ...
分类:
其他好文 时间:
2018-11-12 14:48:56
阅读次数:
150
官网对生命周期给出了一个比较完成的流程图,如下所示: 从图中我们可以看到我们的Vue创建的过程要经过以下的钩子函数: 那么我们就从源码的角度来看一看吧,当我们new Vue的时候,会执行_init函数 function Vue (options) { if (process.env.NODE_ENV ...
分类:
其他好文 时间:
2018-11-06 17:39:33
阅读次数:
253
前言 很久以前,我们学习了 ,可以写出来一个控制台的 . 然后由学习了 语言,可以写 语句来查询数据库中的数据。 后来我们使用 来操作数据库,进行各种增删改查。然而,我们对于原生的JDBC并不满意,写起来很不爽…… 最后,我们使用了 ,写了一个又一个的 ,无论需求怎么变动,无论情况怎么复杂多变。我只 ...
分类:
其他好文 时间:
2018-11-05 22:49:50
阅读次数:
146
这是xue源码学习记录,如有错误请指出,谢谢!相互学习相互进步。 vue源码目录为 vue内部代码模块比较清晰,这边主要分析scripts内部代码,讲解vue是如何进行构建的.首先你必须要懂一些rollup,vue内部是通过rollup来进行构建的,rollup是一款js的构建工具,将各个小模块打包 ...
分类:
其他好文 时间:
2018-11-03 17:40:09
阅读次数:
179
2017年06月08日 09:26:55 源码学习分享 阅读数:15643 标签: we7 更多 个人分类: 微擎we7 2017年06月08日 09:26:55 源码学习分享 阅读数:15643 标签: we7 更多 个人分类: 微擎we7 2017年06月08日 09:26:55 源码学习分享 ...
分类:
其他好文 时间:
2018-10-31 19:59:37
阅读次数:
152
在上一篇博客mongo源码学习(三)请求接收传输层中,稍微分析了一下TransportLayer的作用,这篇来看下ServiceEntryPoint是怎么做的。首先ServiceEntryPoint的定义在mongo/src/mongo/transport目录下。废话不过说,直接上代码。servic... ...
分类:
其他好文 时间:
2018-10-27 13:20:50
阅读次数:
192
在上一篇博客中(mongo源码学习(二)db.cpp之mongoDbMain方法分析),我们把db.cpp中的mongoDbMain的执行过程分析了一下,最后会调用initAndListen(serverGlobalParams.port)方法来监听端口,默认的是27017了。程序执行到这块就断开了... ...
分类:
其他好文 时间:
2018-10-25 15:42:56
阅读次数:
226
mongo后台进程的入口:mongo/src/mongo/db/dbmain.cpp,wmain(for windows)和main函数,main函数也很简单,就是委托给db.cpp中的mongoDbMain函数来处理。下面的这段代码就是db.cpp:mongoDbMain的执行过程:int mon... ...
分类:
数据库 时间:
2018-10-25 14:14:26
阅读次数:
170