在阅读《程序是怎样跑出来的》第六章后,我明白了,文件储存的基本单位,压缩文件对应的扩展名,Rle算法,哈夫曼算法,可逆压缩和非可逆压缩的不同点。文件是字节数据的集合,以字节为单位保存,文件中的字节数据都是连续储存的。把文件内容用“数据×重复次数”的形式来表示的压缩方法称为rle算法。哈夫曼算法是哈夫曼于1952年提出来的压缩算法,可以用二叉树实现哈夫曼编码,通过借助哈夫曼树构建编码体系,即使在不使用字符区分符号的情况下,也可以构建能够明确进行区分的编码体系。哈夫曼算法能够实现大幅提升压缩比率。能还原到压缩前状态的压缩称为可逆压缩,无法还原到压缩前状态的压缩成为非可逆压缩。
在阅读第七章后,我明白了程序是在何种环境中运行的。运行环境等于操作系统加硬件。及其语言的程序称为本地代码,
。程序员用C语言等编写的程序,在编写阶段仅仅是文本文件,文本文件在任何环境下都能显示和编辑,我们称之为源代码。WINDOWS本身不需要为不同的机型分别提供专用的版本,而即使是WINDOWS也依然无法吸收CPU类型的差异。市面上销售的WINDOWS应用软件都是用特定的CPU的本地代码来完成的。应用程序向操作系统传递指定的途径称为API ,WINDOWS及unix系列操作系统的API提供了任何应用程序,都可以利用的函数组合。编译后生成的并不是特定CPU使用的本地代码,而是名为字节代码的程序。字节代码的运行环境就称为JAVA虚拟机。引导程序是存储在启动驱动器起始区域的小程序。操作系统的启动驱动器一般是硬盘,不过有时也可以是CD–ROM或软盘。这使我们使用更加便捷。