链表中结点的分配和回收是由系统提供的标准函数malloc和free动态实现的,称之为动态链表。
如果程序支持指针,则可按照我们的一般形式实现链表, 需要时分配,不需要时回收即可.
动态链表的空间是可以动态扩展的。
typedef struct node{
EleType data;
struct node * pNext;
}Node;
有些高级语言中没有“指...
分类:
其他好文 时间:
2014-05-10 10:38:07
阅读次数:
297
生成器和普通函数有些区别,比如生成器不用return返回,而用yield来返回一系列元素
除非“召唤”生成器的next(),否则函数体里面不会执行任何代码块,上下文环境保存着。
虽然不需要明确定义__iter__()和next()方法,但是它本身包含这个方法。
当想要结束一个协程时,使用close()方法即可,close会在协程中引发GeneratorExit异常,这时候可以通过try/ex...
分类:
编程语言 时间:
2014-05-10 09:53:34
阅读次数:
317
BeanFactoryPostProcessor和BeanPostProcessor...
分类:
其他好文 时间:
2014-05-10 09:13:16
阅读次数:
246
感性认识: 传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 小...
分类:
其他好文 时间:
2014-05-10 08:50:29
阅读次数:
365
路由器是大家都知晓的,WiFi共享精灵现在也是很多人在用的。那么很多人就有疑问了,都有路由器了,还要WiFi共享精灵干嘛?
我们来比较一下两者的区别。
首先两个都是可以实现共享上网的。就是两个的使用目的是一样的。
WiFi共享精灵是永久免费的,而路由器是要钱的。而且路由器安装比较繁琐,WiFi共享精灵就是一键安装,只要你在网上下这个软件就可以了。
...
分类:
其他好文 时间:
2014-05-07 05:23:45
阅读次数:
324
我喜欢用自己的语言通过联系现实生活中的一些现象解释一些概念,当我能做到这一点时,说明我已经理解了这个概念.今天要解释的概念是:同步/异步与阻塞/非阻塞的区别.
这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方.
首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.
举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的...
分类:
其他好文 时间:
2014-05-07 04:14:40
阅读次数:
309
关于结构体的一个问题:
看下面这个结构体的声明,把它记作A
struct node
{
int a;
float b;
struct node *next;
}s;
和如下的结构体声明,把它记作Bstruct node
{
int a;
float b;
struct node next;
}s;
他们的区别是啥?
今天学习《C和指针》第10...
分类:
编程语言 时间:
2014-05-07 03:19:10
阅读次数:
313
TCP和UDP区别
TCP
UDP
是否连接
面向连接
面向非连接
传输可靠性
可靠的
不可靠的
应用场合
传输大量的数据
少量数据
速度
慢
快
OSI 和 TCP/I...
分类:
其他好文 时间:
2014-05-06 15:02:55
阅读次数:
253
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
最常用的就是多表关联查询,主要讲解下join、outer join和semi join的具体使用。
join是最简单的关联操作,两边关联只取交集。
outer join分为left outer join、rig...
分类:
其他好文 时间:
2014-05-06 15:01:38
阅读次数:
269