我记得以前在园子里面讨论这两个类的文章有很多很多,并且还拿出了很多的测试报告,在什么情况下,谁比谁快,在什么情况下,该用谁
不该用谁等等这些,我这里就不比较了,我就简单看看他们里面的内部实现,那就先看看String吧。
一:String类
说到String类,资料上都说是存在于堆上的一个不可CURD的一个不可变的字符集,当然看到这句话之后就想要看看是不是这样的,然后...
分类:
其他好文 时间:
2015-07-25 09:30:07
阅读次数:
128
ios开发block的使用指南,以及深入理解block的内存管理,也适用于osx开发。讨论范围:block的使用,内存管理,内部实现。不包含的内容:gc arc下的block内存,block在c++中的使用。AD:一、概述Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block...
分类:
移动开发 时间:
2015-07-23 23:09:05
阅读次数:
160
是由获得进程模块而引发的一系列的问题,首先,在ring3层下枚举进程模块有ToolHelp,Psapi,还可以通过在ntdll中获得ZwQuerySystemInformation的函数地址来枚举,其中ZwQueryInformationProcess相当于是调用系统服务函数,其内部实现就是遍历PE...
分类:
其他好文 时间:
2015-07-23 21:35:40
阅读次数:
306
了解Dictionary的开发人员都了解,和List相比,字典添加会慢,但是查找会比较快,那么Dictionary是如何实现的呢?Dictionary的构造下面的代码我看看Dictionary在构造时都做了什么: private void Initialize(int capacity...
分类:
其他好文 时间:
2015-07-22 01:35:42
阅读次数:
145
面向对象 面向对象思想的几个重要特征(针对类的要求): 抽象-封装、信息隐藏(将内部实现的方法和数据隐藏, 定义开放的接口) 继承-子类可以使用父类的资源,并可以定制自己的资源, 资源包括方法和数据 多态-重载(同名函数)、覆盖(继承的基础上重写父类函数) JS与面向对象 javascript使用p...
分类:
编程语言 时间:
2015-07-22 01:28:01
阅读次数:
173
SQL server 内部实现了三种类型的内连接运算,大多数人从来没有听说过这些连接类型,因为它们不是逻辑连接也很少被用于代码中。那么它们什么时候会被用到呢?答案是要依情况而定。这就意味着要依赖于记录集和索引。查询优化器总是智能的选择最优的物理连接类型。我们知道SQL优化器创建一个计划开销是基于查询开销的,并依据此来选择最佳连接类型。
那查询优化器究竟是怎样从内部选择连接类型的呢?
SQLServer在内部为查询优化器对连接类型的选择实现了一些算法,让我们来看下面的一些练习示...
分类:
数据库 时间:
2015-07-21 18:47:03
阅读次数:
128
建议1:理解pythonic的概念python之禅优美胜于丑陋(Python 以编写优美的代码为目标)明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)扁平...
分类:
编程语言 时间:
2015-07-16 19:39:13
阅读次数:
218
java并发容器CopyOnWriteArrayListCopyOnWriteArrayList顾名思义,当数组有变化时重新建立一个新的数组其设计是对于线程安全容器Vector使用中出现问题的一种解.在Vector容器中,当需要执行复合操作例如://代码1class Observable {priv...
分类:
编程语言 时间:
2015-07-07 16:24:56
阅读次数:
239
可读写的缓冲1. 使用vector作为内部实现2. 定义前插区,可读区,后插区,用动态整数下标标记位置,其中下标满足 0<= readIndex <= writeIndex <= size()3. 定义初始化时前插的大小,和后插的大小,比如 readIndex = writeIndex = 8, s...
分类:
其他好文 时间:
2015-07-07 12:30:35
阅读次数:
71