深入理解计算机系统【二】
终于有一天,学渣想起了被数学支配的恐惧。
信息存储,在我印象中就是数据库、持久化;前几天公司有题目,说是不能用数据库,我就想起敏捷软件里说软件刚开始时不需要数据库,用文件就好。但这些好像都太偏应用了。
计算机中,信息存储在哪里?
内存单位的最小可寻址单元是8位的块(字节),而不是单独的位。程序将内存视为一个非常大的字节数组,又称虚拟内存。内存每个字节都有唯一标识,所有可能地址的集合被称为虚拟地址空间。这是展示给机器级程序的抽象。
二进制、十进制、十六进制。我在B站听课时听到个位模式,有点疑惑,再过一遍书时发现原来位模式就是指这个。十六进制来描述位模式是最方便的。
有符号、无符号数、补码、原码。有符号就是有正负数的,无符号就是只有正数,现实世界中有个负号就表示正负数了,但计算机之中没有,只有01,于是第一位0代表正数1代表负数,就这样有了一堆名词。Java只支持有符号数。没看这书前我甚至没想过这些问题……当时定规范的人是厉害哦~(比公司里那些朝令夕改的厉害几百倍了)
安全漏洞,书里写了好几个溢出导致的安全漏洞的小栗子,应用层程序好像很难触发。
浮点数,公众号里有相关文章。
一时写不出太多个人理解,理论太多,公式太多,上周就看完一半,然而写不出,这周看了2遍书、2集公开课、百度了一些资料,勉强写点,又不想抄书,emmm。
By:努力向前的菜B