这都记录啊

  1. int 数据范围[2«31, (unsigned int)(2«31)-1],即[-2147483648,2147483647],一共有大概40多亿个数字
  2. 做微博项目的时候,对微博的排序开始考虑使用微博的id,觉得微博id应该是按照发布时间递增的吧,后来发现,其实不然

进程,线程

  1. 一个程序至少一个进程,一个进程至少一个线程
  2. 进程是操作系统进行资源分配,以及独立运行的基本单位,在采用微内核的操作系统中,以线程作为调度单位
  3. 线程是进程的一个实体,是CPU调度的基本单位,但其没有独立的地址空间,只有自己独立的局部变量和堆栈??
  4. 线程不需协作同步,但是进程间需要消息通信机制同步
  5. 进程由于独立拥有系统资源,建立和撤销的开销都较大;进程是不活泼的,从来不执行任何操作,只是线程的容器;由两部分组成
    1. 内核对象,OS用来管理进程,存放进程的统计信息
    2. 地址空间,包含所有可执行模块的代码和数据,以及动态内存所分配的空间,如堆栈
  6. 线程分两部分:
    1. 内核对象,OS用来管理线程,存放线程统计信息
    2. 线程堆栈,线程运行时需要的参数和局部变量等
  7. 线程同步策略:
    1. 临界区
    2. 事件,互斥量,信号量等
  8. 进程通信方式:
    1. 管道
      匿名管道用户具有亲缘关系的进程见通信,有名管道打破此限制
    2. 消息队列 对消息队列有写权限的进程可以向管道中添加消息;具有读权限的进程从管道中读取消息
    3. 共享内存 多个进程可以访问同一块内存区,不同进程可以及时看到对方进程中对共享内存的数据更新,这种方式叫常见,需要互斥锁或信号量
    4. 信号量
    5. 套接字 网络计算机通信方式

海明码

  1. 具有自动纠错功能的校验方法
  2. 在k个数据位之外加上r个校验位(奇偶校验),从而形成一个k+r位的新码字,要求 2^r >= k+r+1 (k+r种出错位置以及1种没有出错的情况)
  3. 校验位的分布,使用 2^0 , 2^1 , 2^2 … 作为校验位(码距被指数型拉大)
  4. 每一位i都能由和为i的校验位表示,比如第三位由前两位表示( 3 = 2^0 + 2^1 )

k-d tree

MediaWiki搭建

mediawiki的安装和配置方式实在是与众不同,完全在线安装和配置,这个真心不习惯,感觉Mediawiki这种’创新’真是费力不讨好。
搭建这个wiki已经然我抓狂了,真心要抓狂了,就是因为始终配置不好WYSIWYG这个插件,尼玛,现在也没配置好,不过换了另外一个富文本编辑器WikEdi,几分钟搞定,如果也有人在纠结Mediawiki的WYSIWYG插件不显示的问题,还是奉劝一句,使用WikEd吧,虽然没WYSIWYG好用,但是WYSIWYG插件不显示的问题很难搞定,尤其是当你不熟悉php的时候,貌似这个bug很普遍,谷歌到一大片。。。

Berkeley DB

32位 win7 集成显卡 –> 4g内存 3.16g可用

GoAgent使用

TOP