码迷,mamicode.com
首页 >  
搜索关键字:源码剖析    ( 888个结果
【Java集合源码剖析】Vector源码剖析
Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 LinkedList是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。 LinkedList没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随机访问。 Vector源码剖析 Vector的...
分类:编程语言   时间:2014-07-02 07:42:51    阅读次数:349
STL源码剖析---根据最新版本的g++4.9.0(支持C++11)的修订(1)空间配置器
STL源码剖析---根据最新版本的g++4.9.0(支持C++11)的修订(1)空间配置器 源码剖析采用的G++版本为2.91.57版本,是比较老的版本与最新版本4.9.0有某些方面的差别。现在我针对最新版本做一个分析。我下载了最新的gcc-4.9.0的包作为观察对象: 我们#include 时的头...
分类:编程语言   时间:2014-07-01 21:21:18    阅读次数:582
【Java集合源码剖析】LinkedList源码剖析
LinkedList简介 LinkedList是基于双向循环链表(从源码中可以很容易看出)实现的,除了可以当做链表来操作外,它还可以当做栈、队列来使用。 LinkedList同样是非线程安全的,只在单线程下适合使用。 LinkedList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了Cloneable接口,能被克隆。 LinkedList源码剖析 LinkedList的源码如下(加入了比较详细的注释):...
分类:编程语言   时间:2014-07-01 09:55:43    阅读次数:283
【Java集合源码剖析】ArrayList源码剖析
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。 ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了R...
分类:编程语言   时间:2014-06-30 17:01:32    阅读次数:240
【Java集合源码剖析】Java集合框架
Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。 从上图中可以看出,集合类主要分为两大类:Collection和Map。 Collection是List、Set等集合高度抽象出来的接口,它包含了这些集合的基本操作,它主要又分为两大部分:List和...
分类:编程语言   时间:2014-06-30 10:14:17    阅读次数:188
验证list的底层数据结构
《STL源码剖析》中,指出SGI STL的list底层数据结构式循环双向链表,并且在链表尾端留一个空白节点,让end指向它。由于是双向的,那么list的迭代器必须是Bidirectional Iterator类别的。        下面,分别验证vs2010下和code blocks(gcc)下,list的底层实现是否是循环链表。 #include #include using namesp...
分类:其他好文   时间:2014-06-30 00:21:54    阅读次数:202
【北京】低价出售C/C++经典书籍
都很新   C++程序设计 5元 高质量C/C++编程指南 8元   C++对象模型 10元 STL源码剖析 12元 深入浅出MFC 10元 设计模式 10元 C++ primer 8元 面向对象程序设计 5元 java语言基础教程 5元 C语言程序设计 5元 VC++数字图像处理 8元 编程之美 8元 程序员面试宝典 5元...
分类:编程语言   时间:2014-06-25 19:52:36    阅读次数:196
《python源码剖析》笔记 python多线程机制
1.GIL与线程调度 Python中的线程是操作系统的原生线程,Python虚拟机使用一个全局解释器锁(Global Interpreter Lock)来互斥线程对Python虚拟机的使用 为了支持多线程机制,一个基本的要求就是需要实现不同线程对共享资源访问的互斥,所以引入了GIL。 GIL:在一个线程拥有了解释器的访问权之后,其他的所有线程都必须等待它释放解释器的访问权,即使这些线程的下一条指令并不会互相影响。 在调用任何Python C API之前,要先获得GIL GIL缺点:多处理器退化为单处理器;优...
分类:编程语言   时间:2014-06-25 19:48:52    阅读次数:358
《python源码剖析》笔记 python虚拟机中的函数机制
1.Python虚拟机在执行函数调用时会动态地创建新的 PyFrameObject对象, 这些PyFrameObject对象之间会形成PyFrameObject对象链,模拟x86平台上运行时栈 2.PyFuctionObject对象 typedef struct { PyObject_HEAD PyObject *func_code; //对应函数编译后的PyCodeObject对象 PyObject *func_globals; //函数运行时的global空间 PyObject *func_...
分类:编程语言   时间:2014-06-24 21:56:10    阅读次数:415
《python源码剖析》笔记 python环境初始化
1.线程环境初始化 图13-1 Py_InitializeEx,Python会首先调用 PyInterpreterState_New创建一个崭新的PyInterpreterState对象。 图13-2 创建了PyInterpreterState(进程状态)对象之后,Python会调用PyThreadState_New创建PyThreadState(线程状态)对象 图13-3 全局变量_PyThreadState_Current维护着当前活动的线程 PyInterpreterState对象中维护着所有的PyT...
分类:编程语言   时间:2014-06-24 20:19:50    阅读次数:335
888条   上一页 1 ... 84 85 86 87 88 89 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!