
sizeof的总结
C/C++,Java中都有字节对齐的概念。字节对齐的目的是加快CPU的访问速度,因为将字节对齐的相应长度的整数倍位置上,CPU取数据会更快。为什么呢? Cache可以看成一些可以用非常快的速度进行访问的临时内存。但是Cache的容量不大,比如一般一级Cache只有几K到几十K,二级Cache只有几百K到几M.这个同数G的内存相比,是比较小的。但是CPU访问内存非常慢,所以硬件会将平时...

C/C++,Java中都有字节对齐的概念。字节对齐的目的是加快CPU的访问速度,因为将字节对齐的相应长度的整数倍位置上,CPU取数据会更快。为什么呢? Cache可以看成一些可以用非常快的速度进行访问的临时内存。但是Cache的容量不大,比如一般一级Cache只有几K到几十K,二级Cache只有几百K到几M.这个同数G的内存相比,是比较小的。但是CPU访问内存非常慢,所以硬件会将平时...

近段时间其实也没有做什么具体的事,只是抽了很多时间看了很多书。虽然自己也很紧张,但是在这种忙里偷闲的时间里也不忘学学脚本。 这段时间在Code Academy上学习了Ruby和Python。最开始的第一印象是:为什么Python没有对类中的成员变量或者成员函数进行一些作用域的设定? Ruby给出非常直接的解决方法,public,private,protected关键字来支持,同时也支持一...

Closures in Ruby @(Technology)[Ruby|Closure] 这篇文章是翻译自:Paul Cantrell。 我推荐先运行这个文件,然后一边读,一边观察其后的结果。当然你也可也先删除所有的注释,猜测所有程序的结果,以此来测试你自己Ruby能力。 一个闭包是满足如下三个准则: 可以当做一个变量(value)来传递 任何人只要具有那个变量的引用,在任...

a* 算法在人工智能领域应用比较广泛。这几天在USTC ACM上刷problem 1012,题中需要解决8-puzzle问题,有两种解法,一种是BFS,另外一种就是a*算法。之前在Java上实现过,但是当时是利用Princeton的一个类:MinPQ,最小的优先级队列。 在C++中,其实也有priority_queue。这个是一个接口封装,底层可以使用vector或者deque实现。pri...

在等待吃饭的间隙把电影《Code Rush》看了一下,这个电影也是Jeff Atwood和阮一峰推荐的。故事的主要内容时Netscape将浏览器代码开源为Mozilla的过程。 网景公司制造了互联网公司的神话,在IPO的时候股价从20$一下子飙升至170多$。一下子让很多人成了富翁,也许这也是很多人愿意加入初创公司的原因,也为有一夜暴富的可能性。但是不知道是不是微软公司是故意的还是像Bil...

coding horror

##To the last day of March This is my first blog through jekyll! [\frac{df(x)}{dx} = \frac{f(x + h) - f(x)}{h} \hspace{0.1in} \text{(bad, do not use)}]