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
Muduo源代码分析
Android日志系统驱动程序Logger
源代码分析
我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分析Logge
wapysun
·
2011-07-10 13:00
android
Android日志系统驱动程序Logger
源代码分析
我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分析L
Luoshengyang
·
2011-07-10 13:00
android
list
struct
events
structure
Android日志系统驱动程序Logger
源代码分析
我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分析Logge
oraclestudy
·
2011-07-10 13:00
android
Android日志系统驱动程序Logger
源代码分析
我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分析Logge
king_tt
·
2011-07-10 13:00
android
MINA
源代码分析
之启动与绑定
鉴于在网上无法找到相关的
源代码分析
, 让我在刚开始看时走了不少弯路,因此在看代码时特意做笔记。 以下便是我的笔记,主要讲述了MINA的启动与绑定SocketAddress时其内部实际做的工作。
longxiaoyan
·
2011-07-08 12:00
Mina
android的短信发送全过程
源代码分析
首先调用mWorkingMessage.send();发送短信mWorkingMessage.send();不用猜测他是什么你就当作是Button的OnClick把mWorkingMessage.send(){ if(Log.isLoggable(LogTag.TRANSACTION,Log.VERBOSE)){ LogTag.debug("send");
liucheng2009
·
2011-07-07 14:00
thread
exception
android
String
null
代码分析
开源项目live555学习心得1
当然,我在学习的过程中,也从网上查找了一段时间,收获还是有一点的,其中就有诸如:RTSP服务器实例live555
源代码分析
markman101
·
2011-07-07 10:00
socket
防火墙
文档
download
makefile
代码分析
由Java设计模式想到测试技术
以下是文章内容: 最近一直在看Junit源码,也看了很多Junit的
源代码分析
,看到里面都提到了Java设计模式,什么Command模式,Observer模式,Composite模式等等。
xfjt297857539
·
2011-07-06 09:00
java
设计模式
JUnit
Nginx
源代码分析
--基本数据结构--hash
咱们来看这段代码: //这段让人欢喜让人忧的宏定义 //先说说有什么需求: //桶的大小是有限制的,在ngx_hash_init_t数据结构中有bucket_size这个值。 //因此,针对桶的每个k-v对的分配内存的大小和附属的数据机构中元素占用的内存的加和值,必须小于这个值。 //否则如果加和值,大于bucket_size,则该k-v对无法分配到桶
IterZebra
·
2011-07-05 10:00
数据结构
UI
nginx
null
存储
代码分析
Nginx
源代码分析
--基本数据结构--hash
咱们来继续看found后的处理: found: //小样,找到你了~~ //当前的size,可就是需要的桶大小了。 //老毛子这里将test[0]~test[size-1]的值,重新计算一遍。 //感觉是因为他太高兴了,觉得”终于成功计算出size了“,忘记了,其实test里边的除了那些被初始化为0后,一致没有分配k-v对给它的桶之//外,不都变成了需要的内存的大小了么。其实这里是为了更加逻辑
IterZebra
·
2011-07-05 10:00
数据结构
nginx
UI
null
wildcard
代码分析
Nginx
源代码分析
--基本数据结构--hash
这次我们来看一下查找函数 void*ngx_hash_find(ngx_hash_t*hash,ngx_uint_tkey,u_char*name,size_tlen){ ngx_uint_t i; ngx_hash_elt_t *elt;#if0 ngx_log_error(NGX_LOG_ALERT,ngx_cycle->log,0,"hf:/"%*s/"",len,
IterZebra
·
2011-07-05 10:00
数据结构
nginx
null
存储
代码分析
Nginx
源代码分析
--基本数据结构--hash
我们来看一下wildcard初始化函数。 //函数ngx_int_t //ngx_array_s结构体 //elts是指向内存池中的存储元素的指针。内存池pool需要进行元素对齐等,所以这个值不等于pool//nelts是当前有的元素个数//size是每个元素大小//nalloc是元素的多少//pool是内存池的指针 structngx_array_s{ void *elts
IterZebra
·
2011-07-05 10:00
数据结构
nginx
struct
null
wildcard
代码分析
Nginx
源代码分析
--基本数据结构--hash
Nginx的查找函数逻辑相对简单,即根据要查找的key-value的key,计算出其所在的桶,比较该key和桶中所有key-value对的key的长度是否一致,如果一致,则进行继续key的值的比较。如果key的值也一直,则获取该key对应value的指针。 具体函数如下: void*ngx_hash_find(ngx_hash_t*hash,ngx_uint_tkey,u_char*name,s
IterZebra
·
2011-07-05 10:00
数据结构
nginx
null
代码分析
Nginx
源代码分析
--基本数据结构--hash
//通配查找,匹配以.分隔的最后的字符串 //ngx_hash_find_wc_head的处理流程为: //1,寻找字符串中,最后一个子串开始的位置//2,计算最后这个子串的key值//3,寻找这个key值对应的值域的指针 //4,如果value值不是NULL,则 // 通过值域指针的后2bit判断, //该值域是00则表示该指针指向的是"example.com"或者"
IterZebra
·
2011-07-05 10:00
WebKit内核
源代码分析
(五)
WebKit内核
源代码分析
(五)红心地瓜(
[email protected]
)摘要:本文分析WebKit中html的解析过程,DOM节点树的建立。
红心地瓜
·
2011-07-04 13:06
WebKit内核源代码分析
WebKit内核
源代码分析
(五)
WebKit内核
源代码分析
(五)红心地瓜(
[email protected]
)摘要:本文分析WebKit中html的解析过程,DOM节点树的建立。
dlmu2001
·
2011-07-04 13:00
html
tree
webkit
token
代码分析
construction
Chrome
源代码分析
之进程和线程模型(三)
关于Chrome的线程模型,在他的开发文档中有专门的介绍,原文地址在这里:http://dev.chromium.org/developers/design-documents/threadingchrome的进程,chrome没有采用一般应用程序的单进程多线程的模型,而是采用了多进程的模型,按照他的文字说明,主界面框架下的一个TAB就对应这个一个进程。但实际上,一个进程不仅仅包含一个页面,实际上
namelcx
·
2011-07-04 09:00
通过分析JDK源代码研究 Hash 存储机制
通过HashMap、HashSet的
源代码分析
其Hash存储机制实际上,Has
zpball
·
2011-07-01 15:00
java
通过分析JDK源代码研究 Hash 存储机制
通过HashMap、HashSet的
源代码分析
其Hash存储机制实际上
zpball
·
2011-07-01 15:00
Java
Chrome
源代码分析
之socket(二)
从这个函数可以看出Chrome采用WSAEventSelect来同服务器端建立连接,虽然WSAEventSelect的在吞吐量和处理多连接的性能这2方面无法与重叠I/O和完成度端口相提并论,但是用在客户端上足矣,而且WSAEventSelect不象WSASyncSelect那样需要与窗口句柄相关联,还能减小网络部分的耦合度,应该说是个不错的选择,不过WSAEventSelect仅仅用于TCP的连接
namelcx
·
2011-07-01 13:00
socket
网络
object
chrome
callback
Signal
Chrome
源代码分析
之socket(一)
作为对HTTP连接的分析,首先跟踪一下Chrome对一个新的URL请求的处理流程。 从Chrome的实现来看,对一个URL资源的请求是放在Browser进程中来实现的,而不是由各个Render进程来实现,据说开发文档中提到这样做的三个主要优势,一是避免子进程进行网络通信,增加安全性,二是有利于Cookie等持久化资源在不同页面中的共享,否则在不同Render进程中传递Cookie比较麻烦,第三是
namelcx
·
2011-07-01 09:00
linux内核IOCTL网络控制框架实现分析
tom.comMSN:
[email protected]
: 15210449 目录 一、概述...3二、用户空间ioctl控制函数调用形式...3三、内核主要函数调用框架...3四、IOCTL框架
源代码分析
jw212
·
2011-06-29 15:00
Nginx
源代码分析
- 日志处理
我看Nginx源代码的时候,感觉整个系统都在传递log指针。log在nginx里是比较关键的。日志和内存分配是最基础的两个起点代码,最好是在自己写的程序框架中早点完善并实现。以免未来要用大量的精力调整。1.日志的源代码位置日志的源代码在src/code/ngx_log.c及ngx_log.h里。2.日志的初始化在main()函数一开始,对一些基础数据进行初始化,其中之一就是日志,源代码如下:
21aspnet
·
2011-06-29 00:00
nginx
mysql
socket
struct
null
代码分析
Tomcat6.0的总体结构
以下就针对coyoteconnector做一下
源代码分析
。首先我们看两个相关的类图: 对上面的类图做一下简单说明
保罗的寓言
·
2011-06-24 13:00
memcached
源代码分析
目录一. 概述...3二. 服务器实现...3三. Memcached协议...5四. 数据存储...8五. 参考文献...9 一.概述 本文主要对memcached服务器代码进行分析,这里对各种客户端的实现不做阐述。原生的memcached是一款基于内存的缓存软件,存储的方式基于k/v. 二.服务器实现 Memcach
lingqi1818
·
2011-06-17 11:00
多线程
应用服务器
memcached
网络协议
C#
boost::any的用法、优点和缺点以及
源代码分析
boost::any的用法、优点和缺点以及
源代码分析
01.#include 02.#include 03.
xiaoguozi's Blog
·
2011-06-16 18:00
Muduo
多线程模型:一个 Sudoku 服务器演变
陈硕(giantchenATgmail)blog.csdn.net/Solstice
Muduo
全系列文章列表:http://blog.csdn.net/Solstice/category/779646.
·
2011-06-16 13:00
sudo
Muduo
多线程模型:一个 Sudoku 服务器演变
陈硕(giantchenATgmail)blog.csdn.net/Solstice
Muduo
全系列文章列表:http://blog.csdn.net/Solstice/category/779646.
Solstice
·
2011-06-16 13:00
多线程
编程
网络
String
server
服务器
Muduo
多线程模型:一个 Sudoku 服务器演变
Muduo
多线程模型:一个Sudoku服务器演变陈硕(giantchenATgmail)blog.csdn.net/Solstice
Muduo
全系列文章列表:http://blog.csdn.net/Solstice
陈硕的Blog
·
2011-06-16 12:00
关于mina内部有向个线程在执行---mina
源代码分析
最近,看了一个大牛写的mina
源代码分析
,转一下,http://www.zoomhoo.com/viewthread.jsp?
wj_126mail
·
2011-06-15 15:00
apache
thread
多线程
socket
Mina
larbin
源代码分析
url类分析
larbin
源代码分析
url类分析larbin
源代码分析
url类分析 一分析utils包中的url类 该类代表实际中的一个url,成员变量主要有,char*file,char*host,uint16
jake1036
·
2011-06-11 21:00
Netfilter
源代码分析
详解
一、概述1.Netfilter/IPTables框架简介 Netfilter/IPTables是继2.0.x的IPfwadm、2.2.x的IPchains之后,新一代的Linux防火墙机制。Netfilter采用模块化设计,具有良好的可扩充性。其重要工具模块IPTables连接到Netfilter的架构中,并允许使用者对数据报进行过滤、地址转换、处理等操作。 Netfilt
jiatingqiang
·
2011-06-10 11:00
数据结构
struct
filter
table
hook
代码分析
Muduo
网络编程示例之十:socks4a 代理服务器
Muduo
网络编程示例之十:socks4a代理服务器陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice t.sina.com.cn/giantchen这是《
Muduo
·
2011-06-02 23:00
网络编程
Muduo
网络编程示例之十:socks4a 代理服务器
Muduo
网络编程示例之十:socks4a代理服务器
Muduo
网络编程示例之十:socks4a代理服务器陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice t.sina.com.cn
陈硕的Blog
·
2011-06-02 23:00
Muduo
网络编程示例之十:socks4a 代理服务器
Muduo
网络编程示例之十:socks4a代理服务器陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice t.sina.com.cn/giantchen这是《
Muduo
Solstice
·
2011-06-02 23:00
编程
server
tcp
网络
服务器
PostgreSQL
Glibc内存管理--ptmalloc2
源代码分析
(三十三)
5.8.3 sYSTRIm()和munmap_chunk() sYSTRIm() 函数源代码如下: /* sYSTRIm is an inverse of sorts to sYSMALLOc. It gives memory back to the system (via negative arguments to sbrk) if there is unused
mqzhuang
·
2011-05-30 19:00
gcc
Glibc内存管理--ptmalloc2
源代码分析
(三十二)
5.8.2 _int_free() _int_free() 函数的实现源代码如下: static void #ifdef ATOMIC_FASTBINS _int_free(mstate av, mchunkptr p, int have_lock) #else _int_free(mstate av, mchunkptr p) #endif { INTERNAL_SI
mqzhuang
·
2011-05-30 19:00
thread
Security
performance
Go
Exchange
Glibc内存管理--ptmalloc2
源代码分析
(三十一)
5.8 内存释放free 5.8.1 public_fREe() public_fREe() 函数的源代码如下: void public_fREe(Void_t* mem) { mstate ar_ptr; mchunkptr p; /* chunk corresponding to mem */ void
mqzhuang
·
2011-05-30 19:00
thread
工作
Glibc内存管理--ptmalloc2
源代码分析
(三十)
5.7.2.5 malloc_consolidate() malloc_consolidate() 函数用于将 fast bins 中的 chunk 合并,并加入 unsorted bin 中,其实现源代码如下: /* ------------------------- malloc_consolidate ------------------------- malloc
mqzhuang
·
2011-05-30 19:00
Exchange
Glibc内存管理--ptmalloc2
源代码分析
(二十九)
5.7.2.4 sYSMALLOc() 当_int_malloc() 函数尝试从 fast bins , last remainder chunk , small bins , large bins 和 top chunk 都失败之后,就会使用 sYSMALLOc() 函数直接向系统申请内存用于分配所需的 chunk 。其实现源代码如下: /* sysmalloc handles
mqzhuang
·
2011-05-30 19:00
REST
UP
Glibc内存管理--ptmalloc2
源代码分析
(二十八)
5.7.2.3 分配large bin chunk(二) 如果通过上面的方式从最合适的 small bin 或 large bin 中都没有分配到需要的 chunk ,则查看比当前 bin 的 index 大的 small bin 或 large bin 是否有空闲 chunk 可利用来分配所需的 chunk 。源代码实现如下 /* Search for a
mqzhuang
·
2011-05-30 19:00
REST
UP
Glibc内存管理--ptmalloc2
源代码分析
(二十七)
5.7.2.3 分配large bin chunk(一) 如果所需的 chunk 不属于 small bins ,首先会执行如下的代码段: /* If this is a large request, consolidate fastbins before continuing. While it might look excessive to kill all
mqzhuang
·
2011-05-30 19:00
malloc
Glibc内存管理--ptmalloc2
源代码分析
(二十六)
5.7.2.2 分配small bin chunk 如果所需的 chunk 大小属于 small bin ,则会执行如下的代码: /* If a small request, check regular bin. Since these "smallbins" hold one size each, no searching wi
mqzhuang
·
2011-05-30 18:00
工作
Glibc内存管理--ptmalloc2
源代码分析
(二十五)
5.7内存分配malloc()Ptmalloc2主要的内存分配函数为malloc(),但源代码中并不能找到该函数,该函数是用宏定义为public_mALLOc(),因为该函数在不同的编译条件下,具有不同的名称。public_mALLOc()函数只是简单的封装_int_malloc()函数,_int_malloc()函数才是内存分配的核心实现。下面我们将分析malloc的实现。5.7.1public
iteye_7858
·
2011-05-30 18:34
Glibc内存管理--ptmalloc2
源代码分析
(二十五)
5.7 内存分配malloc() Ptmalloc2 主要的内存分配函数为 malloc() ,但源代码中并不能找到该函数,该函数是用宏定义为 public_mALLOc() ,因为该函数在不同的编译条件下,具有不同的名称。 public_mALLOc() 函数只是简单的封装 _int_malloc() 函数, _int_malloc() 函数才是内存分配的核心实现。下面我们
mqzhuang
·
2011-05-30 18:00
多线程
C++
c
C#
Exchange
Glibc内存管理--ptmalloc2
源代码分析
(二十四)
5.6.7 grow_heap,shrink_heap,delete_heap,heap_trim 这几个函数实现 sub_heap 和增长和收缩, grow_heap() 函数主要将 sub_heap 中可读可写区域扩大; shrink_heap() 函数缩小 sub_heap 的虚拟内存区域,减小该 sub_heap 的虚拟内存占用量; delete_heap() 为一个
mqzhuang
·
2011-05-30 18:00
Go
Glibc内存管理--ptmalloc2
源代码分析
(二十三)
5.6.5 new_heap() New_heap() 函数负责从 mmap 区域映射一块内存来作为 sub_heap ,在 32 位系统上,该函数每次映射 1M 内存,映射的内存块地址按 1M 对齐;在 64 为系统上,该函数映射 64M 内存,映射的内存块地址按 64M 对齐。 New_heap() 函数只是映射一块虚拟地址空间,该空间不可读写,不会被 swap 。 New_heap()
mqzhuang
·
2011-05-30 18:00
thread
linux
UP
Glibc内存管理--ptmalloc2
源代码分析
(二十二)
5.6.3 Arena_get2() 在5.6.2 节中提到, arena_get 宏尝试查看线程的私用实例中是否包含一个分配区,如果不存在分配区或是存在分配区,但对该分配区加锁失败,就会调用 arena_get2() 函数获得一个分配区,下面将分析 arena_get2() 函数的实现。 static mstate internal_function #if __STD_C ar
mqzhuang
·
2011-05-30 18:00
thread
数据结构
UP
Glibc内存管理--ptmalloc2
源代码分析
(二十一)
5.6 多分配区支持 由于只有一个主分配区从堆中分配小内存块,而稍大的内存块都必须从 mmap 映射区域分配,如果有多个线程都要分配小内存块,但多个线程是不能同时调用 sbrk() 函数的,因为只有一个函数调用 sbrk() 时才能保证分配的虚拟地址空间是连续的。如果多个线程都从主分配区中分配小内存块,效率很低效。为了解决这个问题, ptmalloc 使用非主分配区来模
mqzhuang
·
2011-05-30 18:00
多线程
thread
配置管理
Glibc内存管理--ptmalloc2
源代码分析
(二十)
5.5.3 ptmalloc_lock_all(),ptmalloc_unlock_all(),ptmalloc_unlock_all2() /* Magic value for the thread-specific arena pointer when malloc_atfork() is in use. */ #define ATFORK_ARENA_
mqzhuang
·
2011-05-30 17:00
多线程
thread
linux
上一页
79
80
81
82
83
84
85
86
下一页
按字母分类:
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
其他