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
ExtJS4.0源代码分析
Raid1
源代码分析
--同步流程
同步的大流程是先读,后写。所以是分两个阶段,sync_request完成第一个阶段,sync_request_write完成第二个阶段。第一个阶段由MD发起(md_do_sync),第二个阶段由守护进程发起。 如果是用户发起的同步请求。该请求下发到raid1层,首先进入同步读函数sync_request。在正常的成员盘中,将所有active可用的盘(rdev->flags中有In_
·
2015-10-26 14:19
raid
ecshop index.php
源代码分析
<?php // 根据某人的说法, 挂个鸟牌. define('IN_ECS', true); // 引入内核文件 require(dirname(__FILE__) . '/includes/init.php'); // DEBUG_MODE在init.php中定义了0,根据常量不可重复定义的原则, 估计下面的判断永远都将是真.即不需要更新缓存. // $s
·
2015-10-23 09:00
ecshop
编程之道
作者:邹彦傧 前些日子在CSDN看到一篇文章,虽然是写笔者的人生经历,但里面提及的技术让我目瞪口呆(呆了半天说不出话来),(高中生的写尼姆达病毒
源代码分析
,清华研究生写了
·
2015-10-23 08:39
编程
PostgreSQL的 initdb
源代码分析
之二十五
继续分析: make_postgres(); 展开: 目的是创建postgres数据库。 cmd是:/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true template1 >/dev/null
·
2015-10-23 08:02
PostgreSQL
PostgreSQL的 initdb
源代码分析
之二十四
继续分析: make_template0(); 展开: 无需再作解释,就是创建template0数据库 /* * copy template1 to template0 */ static void make_template0(void) { PG_CMD_DECL; const char **line; static const
·
2015-10-23 08:01
PostgreSQL
PostgreSQL的 initdb
源代码分析
之二十三
继续分析: vacuum_db(); 展开: cmd是:/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true template1 >/dev/null 其目的很明确,就是 对 template1 数据库执行 ANALYZE
·
2015-10-23 08:01
PostgreSQL
PostgreSQL的 initdb
源代码分析
之二十二
继续分析 load_plpgsql(); 展开: 就是让postgres 执行 create extension plpgsql cmd是: "/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true temp
·
2015-10-23 08:01
PostgreSQL
PostgreSQL的 initdb
源代码分析
之二十一
继续分析: setup_schema(); 展开: 实质就是创建info_schema。 cmd 是: "/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true -j template1 >/dev/null
·
2015-10-23 08:01
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十八
继续分析: setup_conversion(); 展开: 其实质是: 运行命令:"/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true template1 >/dev/null 传递参数:/home/pgsql
·
2015-10-23 08:00
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十七
继续分析: setup_collation() 展开: /* * populate pg_collation */ static void setup_collation(void) { #if defined(HAVE_LOCALE_T) && !defined(WIN32) int i;
·
2015-10-23 08:00
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十九
继续分析: setup_dictionary(); 展开: 其中: cmd 是:"/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true -j template1 >/dev/null dictionary_fil
·
2015-10-23 08:00
PostgreSQL
PostgreSQL的 initdb
源代码分析
之二十
继续分析: setup_privileges(); 展开: 这是设置权限。 其cmd是:"/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true template1 >/dev/null 其命令是:UPDATE p
·
2015-10-23 08:00
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十六
继续分析 setup_description(); 展开后: 就是要把 share/postgres.description 文件的内容读入到 pg_description 和 pg_shdescription /* * load description data */ static void setup_description(void) {
·
2015-10-23 08:59
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十五
继续分析: if (pwprompt || pwfilename) get_set_pwd(); 由于我启动initdb的时候,没有设置口令相关的选项,故此略过。 接下来: setup_depend(); 展开: 就是一组sql问,送给 postgres 执行: cmd的值是: "/home/pgsql/project
·
2015-10-23 08:59
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十三
继续分析: /* Bootstrap template1 */ bootstrap_template1(); 展开: 我这里读入的文件是:/home/pgsql/project/share/postgres.bki /* * run the BKI script in bootstrap mode to create template1 */
·
2015-10-23 08:58
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十四
继续分析: /* * Make the per-database PG_VERSION for template1 only after init'ing it */ write_version_file("base/1"); 就是在base/1目录下,生成一个 PG_VERSION 文件。 [pgsql@loc
·
2015-10-23 08:58
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十二
继续分析 /* Now create all the text config files */ setup_config(); 将其展开: 实质就是,确定各种参数,分别写入 postgresql.conf 、pg_hba.conf、pg_indent.conf 文件。 /* * set up all the config files */ st
·
2015-10-23 08:56
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十一
继续分析: /* Top level PG_VERSION is checked by bootstrapper, so make it first */ write_version_file(NULL); 就是建立了一个 PG_VERSION的文件 在我系统里,可以看到: [pgsql@localhost DemoDir]$ cat PG_VERSION 9.1
·
2015-10-23 08:56
PostgreSQL
PostgreSQL的 initdb
源代码分析
之十
继续分析, 如下这段,因为条件不成立,被跳过: /* Create transaction log symlink, if required */ if (strcmp(xlog_dir, "") != 0) { fprintf(stderr,"In main function -----------------
·
2015-10-23 08:55
PostgreSQL
PostgreSQL的 initdb
源代码分析
之八
继续分析 由于 我并未进行特殊的参数设置,所以 (strlen(default_text_search_config) == 0) 成立。 故 调用 default_text_search_config = find_matching_ts_config(lc_ctype) 最后输出:The default text search configuration
·
2015-10-23 08:54
PostgreSQL
PostgreSQL的 initdb
源代码分析
之九
继续:下面的是定义信号处理函数。 /* * now we are starting to do real work, trap signals so we can clean up */ /* some of these are not valid on Windows */ #ifdef SIGHUP pqsignal(SIGHUP,
·
2015-10-23 08:53
PostgreSQL
PostgreSQL的 initdb
源代码分析
之七
继续分析:由于我使用initdb的时候,没有指定 locale,所以会使用OS的缺省locale,这里是 en_US.UTF-8 printf(_("The files belonging to this database system will be owned " "by user \"%s\".\n&q
·
2015-10-23 08:53
PostgreSQL
PostgreSQL的initdb
源代码分析
之六
继续分析 下面的是获取运行此程序的用户名称,主要还是为了防止在linux下用root来运行的情形。 effective_user = get_id(); if (strlen(username) == 0) username = effective_user; 接下来,是准备好一写预备生成的文件的名称变量: set_input(&b
·
2015-10-23 08:53
PostgreSQL
PostgreSQL的initdb
源代码分析
之五
接前面,继续分析: putenv("TZ=GMT") 设置了时区信息。 find_other_exec(argv[0], "postgres", PG_BACKEND_VERSIONSTR, backend_exec)) 就是要找到同目录下、同版本的postgres备用。initdb 执行后期,很多事情要依赖 postgres来处理的。
·
2015-10-23 08:52
PostgreSQL
PostgreSQL的 initdb
源代码分析
之三
继续 其实接前面,整个while循环是这样的: while ((c = getopt_long(argc, argv, "dD:E:L:nU:WA:sT:X:", long_options, &option_index)) != -1) { switch (c) {
·
2015-10-23 08:52
PostgreSQL
PostgreSQL的 initdb
源代码分析
之四
继续分析: if (pwprompt && pwfilename) { fprintf(stderr, _("%s: password prompt and password file cannot be specified together\n"), progname); exit(1); }
·
2015-10-23 08:52
PostgreSQL
PostgreSQL的 initdb
源代码分析
之二
继续分析 下面这一段,当 initdb --version 或者 initdb --help 才有意义。 if (argc > 1) { if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") == 0) {
·
2015-10-23 08:52
PostgreSQL
PostgreSQL的 initdb
源代码分析
之一
开始第一段: int main(int argc, char *argv[]) { /* * options with no short version return a low integer, the rest return * their short version value */ static struct option long_
·
2015-10-23 08:51
PostgreSQL
BlogEngine.Net架构与
源代码分析
系列part1:开篇介绍
最近我要开始这个系列了,这是我的第一个系列。关于BlogEngine.Net我想说的是,它设计的真的很棒,代码简洁但是功能很多,真是麻雀虽小,五脏俱全啊,而且具有了很多Web2.0的特征,甚至它的每一行代码都值得我们去研究一下,它的开发团队很棒。实际上很多国外的个人Blog都是采用BlogEngine.Net加上自定义皮肤实现的,如果您是一个Blog的开发者,这更是您的必备参考! 很多兄
·
2015-10-23 08:08
Engine
[zz]Twitter Storm
源代码分析
之ZooKeeper中的目录结构
作者: xumingming | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 转自网址: http://xumingming.sinaapp.com/466/twitter-storm-code-analysis-zookeeper-dirs/ 我们知道Twitter Storm的所有的状态信息都是保存在Zookeeper里面,nimbus通过在zoo
·
2015-10-23 08:37
zookeeper
Java Proxool
源代码分析
入口点:ProxoolFacade. 启动顺序: ProxoolDriver -> ProxoolFacade.registerConnectionPool -> 调用顺序 ProxoolDriver.connect -> ConnectionPoolManager.getConnectionPool -
·
2015-10-23 08:44
proxool
Hadoop
源代码分析
- HDFS
Hadoop
源代码分析
(1)overview http://caibinbupt.javaeye.com/blog/262412 Hadoop
源代码分析
(2)package
·
2015-10-21 12:39
hadoop
我任重而道远的Delphi之路
RTL,修改RTL,《Delphi
源代码分析
》2. VCL源码,特别是Additional面板上的控件才是Delphi独有的控件,是VCL的精华所在。3. COM编程4.
·
2015-10-21 12:45
Delphi
BlogEngine.Net架构与
源代码分析
系列part15:总结篇
本文是这个系列的总结篇,在这篇文章里,仅从我个人的角度发表一下对BlogEngine.Net的一些看法。内容包括BlogEngine.Net的优缺点,性能问题,如何阅读源代码等。 重申一下写这个系列的目的 1.使自己更加深入的理解BlogEngine.Net的架构,对Blog
·
2015-10-21 11:39
Engine
BlogEngine.Net架构与
源代码分析
系列part12:页面共同的基类——BlogBasePage
上一篇文章我向大家展示了BlogEngine.Net中Theme的原理和一些开发规范,里面有很多内容和这篇文章有着联系,建议大家这两篇文章结合在一起看,这样效果会更好。在这篇文章中我主要向大家说明BlogBasePage,PostViewBase,CommentViewBase这三个类的内部实现上的一些技巧以及它们与页面,文章和评论之间是
·
2015-10-21 11:38
Engine
BlogEngine.Net架构与
源代码分析
系列part11:开发扩展(下)——自定义Theme
个性化的主题是一个完善的Blog系统中所必备的,同时也是一个亮点。在这篇文章里我将给大家展示一下BlogEngine.Net的第三个开发特性,那就是自定义的Theme。本文的重点放在BlogEngine.Net的开发规范和实现原理上。如果您对BlogEngine.Net的架构很了解的话,那么开发一个自己的Theme是一件很简单的事情,如果
·
2015-10-21 11:38
Engine
BlogEngine.Net架构与
源代码分析
系列part1:开篇介绍
最近我要开始这个系列了,这是我的第一个系列。关于BlogEngine.Net我想说的是,它设计的真的很棒,代码简洁但是功能很多,真是麻雀虽小,五脏俱全啊,而且具有了很多Web2.0的特征,甚至它的每一行代码都值得我们去研究一下,它的开发团队很棒。实际上很多国外的个人Blog都是采用BlogEngine.Net加上自定义皮肤实现的,如果您是一个Blog的开发者,这更是您的必备参考! 很多兄
·
2015-10-21 11:37
Engine
DirectShow 学习(一) 基础和BaseClasses部分源代码浅读
BaseClasses中实现COM的部分
源代码分析
[combase.h/combase.cpp] class CBaseObject是BaseClasses中的基类,
·
2015-10-21 11:44
classes
extjs 介绍
引用:http://baike.baidu.com/view/1350145.htm 2011年4月22日,
Extjs4.0
正式发布,主要有以下改进: 核心改进:检视框架的架构和重塑其基础。
·
2015-10-21 10:47
ExtJs
PostgreSql
源代码分析
纪录
前言:最近做数据同步,需要从PostgreSql获取数据,发现一旦数据比较多,那么读取的速度非常慢,并且内存占用特别多&GC不掉。代码样例:为了方便讲解,下面写了事例代码,从b2c_order获取数据,这个数据表6G左右。packagecom.synchro; importjava.sql.*;/***Createdbyqiu.lion2015/10/16.*/publicclassTest
李秋
·
2015-10-16 22:00
PostgreSql
源代码分析
纪录
原文链接:http://www.cnblogs.com/liqiu/p/4886581.html前言:最近做数据同步,需要从PostgreSql获取数据,发现一旦数据比较多,那么读取的速度非常慢,并且内存占用特别多&GC不掉。代码样例:为了方便讲解,下面写了事例代码,从b2c_order获取数据,这个数据表6G左右。packagecom.synchro;importjava.sql.*;/***C
aijia7039
·
2015-10-16 22:00
PostgreSql
源代码分析
纪录
前言:最近做数据同步,需要从PostgreSql获取数据,发现一旦数据比较多,那么读取的速度非常慢,并且内存占用特别多&GC不掉。代码样例:为了方便讲解,下面写了事例代码,从b2c_order获取数据,这个数据表6G左右。packagecom.synchro; importjava.sql.*;/***Createdbyqiu.lion2015/10/16.*/publicclassTest
李秋
·
2015-10-16 22:00
PostgreSql
源代码分析
纪录
前言:最近做数据同步,需要从PostgreSql获取数据,发现一旦数据比较多,那么读取的速度非常慢,并且内存占用特别多&GC不掉。代码样例:为了方便讲解,下面写了事例代码,从b2c_order获取数据,这个数据表6G左右。packagecom.synchro; importjava.sql.*;/***Createdbyqiu.lion2015/10/16.*/publicclassTest
李秋
·
2015-10-16 22:00
ceph
源代码分析
— peering 过程
本人最近仔细研究ceph恢复部分的源代码,这个阅读分析的过程比较艰难,分享在此,希望大家能互相交流学习,有不正确的地方,希望大家指正!Peering的作用Peer的过程,是使一个PG内的OSD达成一个一致状态,当主从副本完成达成一个一致的状态,peering的状态就结束,PG处于active状态。但此时,该PG的三个OSD的数据副本并非完全一致。基本概念actingset和upsetactings
changtao381
·
2015-10-14 15:00
ceph-源代码
Android Hook框架Xposed原理与
源代码分析
1概述Xposed是GitHUB上rovo89大大设计的一个针对Android平台的动态劫持项目,通过替换/system/bin/app_process程序控制zygote进程,使得app_process在启动过程中会加载XposedBridge.jar这个jar包,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持。因为Xposed工作原理是在/system/bin目录下替换文件,在i
boyupeng
·
2015-09-29 22:00
lightning mdb
源代码分析
系列(3)
本系列前两章已经描述了系统架构以及系统构建的基础内存映射,本章将详细描述lmdb的核心,外存B+Tree的操作。本文将从基本原理、内存操作方式、外存操作方式以及LMDB中的相关函数等几方面描述LMDB中关于B+Tree的使用方式。介绍动态查找树主要有:二叉查找树(BinarySearchTree),平衡二叉查找树(BalancedBinarySearchTree),红黑树(Red-BlackTre
gridmix
·
2015-09-25 06:33
源代码
动态
平衡
lightning mdb
源代码分析
系列(3)
本系列前两章已经描述了系统架构以及系统构建的基础内存映射,本章将详细描述lmdb的核心,外存B+Tree的操作。本文将从基本原理、内存操作方式、外存操作方式以及LMDB中的相关函数等几方面描述LMDB中关于B+Tree的使用方式。 介绍 动态查找树主要有:二叉查找树(BinarySearchTree),平衡二叉查找树(BalancedBinarySearchTree),红黑树
gridmix
·
2015-09-25 06:33
源代码
动态
平衡
lightning mdb
源代码分析
系列(3)
本系列前两章已经描述了系统架构以及系统构建的基础内存映射,本章将详细描述lmdb的核心,外存B+Tree的操作。本文将从基本原理、内存操作方式、外存操作方式以及LMDB中的相关函数等几方面描述LMDB中关于B+Tree的使用方式。 介绍 动态查找树主要有:二叉查找树(BinarySearchTree),平衡二叉查找树(BalancedBinarySearchTree),红黑树
gridmix
·
2015-09-25 06:33
源代码
动态
平衡
lightning mdb
源代码分析
系列(3)
本系列前两章已经描述了系统架构以及系统构建的基础内存映射,本章将详细描述lmdb的核心,外存B+Tree的操作。本文将从基本原理、内存操作方式、外存操作方式以及LMDB中的相关函数等几方面描述LMDB中关于B+Tree的使用方式。 介绍 动态查找树主要有:二叉查找树(BinarySearchTree),平衡二叉查找树(BalancedBinarySearchTree),红黑树
天将
·
2015-09-25 06:00
lightning mdb
源代码分析
系列(3)
本系列前两章已经描述了系统架构以及系统构建的基础内存映射,本章将详细描述lmdb的核心,外存B+Tree的操作。本文将从基本原理、内存操作方式、外存操作方式以及LMDB中的相关函数等几方面描述LMDB中关于B+Tree的使用方式。 介绍 动态查找树主要有:二叉查找树(BinarySearchTree),平衡二叉查找树(BalancedBinarySearchTree),红黑树
gridmix
·
2015-09-25 06:04
源代码
动态
平衡
上一页
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
其他