摘要:
LZ在前面两篇文章写了一个小系列,就是程序猿应该掌握哪些知识,以及如何强迫自己学习。前面已经讨论了算法和面向对象的设计思想,其实这部分内容还没完,不过趁着国庆这个点,LZ想趁机讨论一下强迫这部分的内容,本次主要讨论的是心态,欠缺的内容之后再补。 相信自己 前段时间LZ看过一篇文章,具体名字有点记不住 阅读全文
摘要:
二进制运算的奥妙。 阅读全文
摘要:
开篇请各位猿友允许LZ啰嗦几句,最近一直在写计算机系统原理这系列文章,也已经下定决心要把这本书的内容写完。主要目的其实是为了巩固LZ的理解,另外也想把这些内容分享给猿友们,毕竟LZ觉得这些内容对程序猿的实力还是有着很大的潜在提高的。 只是这种原理性的文章写起来相对复杂与繁琐,较对起来也比较困难,因为 阅读全文
摘要:
上一篇文章LZ给出了作为一个程序猿必须掌握的知识之一,也就是我们常说的算法,后面还给出了有关算法学习的建议,希望这些内容能给猿友们一些帮助,同时也希望这一系列文章能够解答一部分猿友经常问LZ的问题。 这次LZ思来想去,决定给文章起一个思考篇的名字,其实按照这个思路起名字的话,上一章应该叫做逻辑思维篇 阅读全文
摘要:
上一章我们简单的介绍了布尔代数以及C语言的位运算,本次我们主要来看,二进制如何表示整数,这是很重要的一章,希望各位猿友莫要错过。 C语言中的整数类型及范围 我们依然以C语言为例,C语言当中提供了多种整数类型,一共十种,位数为1、2、4、8,其中32位机器上,4位的有两种,在64位机器上,8位的有两种 阅读全文
摘要:
记得LZ的第一篇博客发于2013-01-27 16:10,是LZ有一次上班闲下来的时候写的一篇文章,关于Jquery源码的研究成果。至今为止,断断续续也写了大半年博客,自从写博客以来,LZ间断性的收到过不少猿友的提问,这些提问中有很大一部分,是问LZ这样的问题,有很大的重复性与近似性。 “LZ,你不 阅读全文
摘要:
布尔代数上的位运算 布尔代数是一个数学知识体系,它在0和1的二进制值上演化而来的。 我们不需要去彻底的了解这个知识体系,但是里面定义了几种二进制的运算,却是我们在平时的编程过程当中也会遇到的。这四种运算分别是或、与、非和异或。下图展示了在布尔代数的知识体系中,对这四种运算的定义。 从左至右依次是非、 阅读全文
摘要:
上一章(1.1-1.4)LZ和各位简单的探讨了一下计算机系统中的一些基本概念,本次我们将进入一个崭新的世界。在1.1那一章当中,我们已经简单的提及了信息的概念,本次我们会逐渐深入的讨论信息的相关内容。 引言 我们很难想象,1和0这两个再简单不过的数字,给计算机科学带来了彻底的改变。对于无法与人脑相比 阅读全文
摘要:
引言 并发与并行一直是IT界炙手可热的词汇,相信各位猿友都不会陌生。在计算机系统这本书当中,对并发与并行的解释是,并发是指一个同时具有多个活动的系统,而并行则是指的用并发使得一个系统运行的更快。 这与LZ之前的理解应该是不冲突的,在LZ之前看来,并发是一种模式,而并行是实现这种模式的手段之一。 线程 阅读全文
摘要:
上一章LZ给各位展示了一下hello程序的简单执行过程,可以看出在这一过程当中,系统在数据的传输上花费了大量的时间。硬件开发商为了减少这种数据传输的时间成本,采用一种高速缓存的技术去减少这种时间成本。 高速缓存被置放于处理器当中,与处理器中的寄存器文件直接进行数据交换,这样大大减少了数据传输的时间成 阅读全文