一头粉红色的大象_
第一章 -计算机三大原则
1、在GBK字符编码下,一个汉字占用2个字节,在UTF-8下,一个汉字占用3个字节
2、用于表示字符的数字是字符编码,用于表示颜色的的数字是颜色编码
3、SOAP是关于调用指令的规范,XML是定义数据格式的规范,,只要定义了指令和数据的规范,装有符合规范 的程序的计算机就可以相互协作了。所为计算机的协同工作是,输入到一台计算机中的数据,可以通过互联网传送到与这台计算机相连接的其他计算机上执行运算,运算结果再返回本计算机,这就是XML WEB服务。
4、时钟信号,是始终发生器发出的滴答滴答的电信号,cpu 频率,一定情况代表运算速度MHz GHz,频率越高,单位时间内处理速度越快
第二章-试着制造一台计算机吧
1、一个字节有 8比特
2、再看,理解问什么32位和64位的内存大小上限问题等
第三章-体验一次手工汇编
1、机器语言就是处理器可以直接理解的编程语言
2、计算机硬件的三个基本要素:cpu、内存、I/O。I/O中临时存放着用于和周边设备进行 输入输出的数据。
第四章-程序像河水一样流动着
1、CPU中有各种寄存器,其中有一个PC寄存器,负责存储内存地址,该地址指向下一条即将执行的指令。每解释完一条指令,PC寄存器的值就会自动更新为下一条指令的地址。
2、机构化程序设计,仅仅使用顺序执行,条件分支,循环表示,不再使用跳转指令,虽然在高级语言编写中没有了跳转,但是底层仍有跳转机制。
第五章-与算法成为好朋友的七个要点
1、最大公约数,辗转相除法(怎么实现?想想),用两个数中的大数-小数,直到两个数的值相等为止,相等的数值就是最大公约数。_
2、字符串的末尾用0表示,链表的末尾用-1表示,像这种特殊的数据就是哨兵,哨兵多用在线性搜索中
3、算法的步骤必须是明确且有限的
4、判定一个数是否是素数,乘数最大是判定数的平方根,因为最起码验证的是两数相乘。
5、石头,剪刀,布(0,1,2)------算法:如果A和B相等,则平局,如果B+1除以3得到的余数与变量A相等,就是玩家B获胜,其余是A胜利。
6、七个要点
1、算法中解决问题的步骤是明确且有限的
2、计算机不靠直觉而是机械的解决问题的
3、了解并应用典型算法
4、利用计算机的处理速度
5、使用编程技巧提升程序执行速度
6、找出数字间的规律
7、现在纸上考虑算法
第六章-与数据结构成为好朋友的七个要点
1、变量是数据的容易,变量中存储的数据是可以改变的,变量的实质是按照变量所存储数据的大小被分配到的一块内存中
2、使用数组就可以高效的处理大量的数据,数组的实质是连续分配的一块特定大小的内存空间。
3、桟中数据的存储形式是LIFO,先进后出,队列中数据的存储形式是FIFO,先进先出
4、选用的算法和数据结构匹配这一点很重要
5、32位操作系统最大支持4g的内存,原因是2的32次方最大寻址空间就那么大,多大也找不到,而64位的就有2的64次方的最大寻址空间。
6、每个变量都对应着计算机上的一块物理内存空间,java八个基本数据类型有固定的字节大小,也就是在创建的时候,就在内存上开辟了相应大小的空间使用(byte-1、short-2、int-4、long-8、float-4、double-8、char-2、boolean-1)
7、使用数组和for语句,就能编写实现了线性搜索和冒泡排序算法的程序。
8、在C语言中,把存储着地址的变量称为“指针”
9、链表中的ptr带有指向,也就是指向下一个内存地址的值
10、二叉树来源于链表结构,不同的是,指向了两个链接信息,二叉树多用于实现哪些用于搜索数据的算法,比如二分查找发,比起只用链表,使用二叉树能够更快的找到数据
第七章-成为会使用面向对象编程的程序员吧
1、Object翻译成汉语是"对象"的意思
2、开发中,有创造类的人,有使用类的人,目前阶段就是使用类的人_,对于创造类的,需要考虑程序开发的效率和可维护性,并决定该将什么抽象为类,如果一个类的修改导致其他类的修改,这就是不可行的(解耦),需要可以轻松被替换。在功能升级成功后,就组件能够被新租金替换的设计也是必不可少的,因此,创造者和使用者之间就需要事先商定类的使用规范!也就是接口,只要把接口告诉合作公司,就可以要求他们编写类,编写出的类也就自然能和程序中的其他部分严丝合缝的拼装起来。在面向对象语言中,也提供了用于定义接口的语法。
3、在面向对象的编程设计中,一上来就需要确定有那些类,从而构成程序的函数和变量就必然会被组织到类中。其实一个编程中,大概记住用什么类,类里有什么方法,也就大概确定了编程的套路了_
4、只要继承了已经存在的类,就能高效的生成一个新的类,如果一个类被多个类所继承,那么只要修正了这个类,就相当于把继承了这个类的所有类都修正了。—只要通过封装把外界不关心的成员隐藏起来,类就可以看作是一个黑盒,变成了易于维护和便于维护的组建了,而且由于隐藏起来的成员不能被外界所访问,所以也就可以放心的随意修改这些成员。—只要利用了多态,生成对同一个消息可以执行多种操作的一组类,使用这组类的程序员所需要记忆的东西就减少了。
5、类是做饼干的模具,而这个模具做出来的饼干就是对象
第八章-一用就会的数据库
1、数据库中表的列称为字段,行被称为记录
2、每个值都能够唯一标识一条记录的字段称为主键。为了在表和表之间建立关系而在表中添加的、其他表的主键的字段称为外键,索引是与键无关的机制
3、数据库表中每两个表建立关系,可以节省数据库的存储空间
4、索引是一种数据结构,存储着字段的值以及字段所对应记录的位置,有利于提升检索速度,但都是对应某一个字段来进行操作,当有增删时,索引相应的增删,因此也不能所有字段都设置,会大大降低增删的速度。
5、事务,不成功则回滚,在数据库中才存在事务
6、栈顶指针,专门的指针指向栈顶元素所在的位置,在进行入栈和出栈操作时,都需要移动该指针
第九章-通过七个简单的实验理解TCP/IP网络
1、LAN是Local Area Network(局域网)的缩略语,WAN是广域网
2、TCP/IP是Transmission Control Protocol/Internet Protocol(传输控制协议和网络协议)的缩略语,其协议是互联网所使用的一套标准协议
3、MAC地址是能够标识网卡的编号(几乎所有的网卡都会在上市前被分配一个不可变更的MAC地址)
4、192.18.100.201,前面三个表示网络地址(公司),201表示主机地址(计算机)
5、子网掩码255.255.255.0(11111111.11111111.11111111.00000000),子网掩码表示的是网络地址和主机地址的分开的地方,有1的是网络地址位(比特,有8比特的主机地址位),0的是主机地址位。_
6、路由器也占用ip地址,配置的时候相当于占了一个电脑位
7、DNS域名服务器,将www.的网址转化为192……的地址
8、ip协议用来指定数据发送目的地的ip地址以及通过路由器转发数据。tcp协议用于通过数据发送者和接受者相互回应对方发来的确认信号,可靠的传输数据。
第十章-试着加密数据吧
1、https:,表示数据正在使用加密的方式进行传输
2、电脑当中存储的所有的东西都是数字,所以给数字一个特定的运算就可以完成加密,解密就是对数字进行反向的操作,再使用特定的编码集,就可以完成解密,比如将A的数值加3,就会得到D,以此来完成简单的加密操作。
3、异或操作,对应位置上的两个二进制书a、b的值想同,则结果为0,如果不同,则为1。(XOR加密),也可用于不用中间变量就完成两个数的交换!!!!!!!_
第十一章-XML究竟是什么
1、XML是可扩展标记语言的缩写,是用于定义任意标记语言的元语言,通过XML可以定义出各种各样的新语言。HTML是用于编写网页的标记语言
2、给数据赋予意义的行为定义规则的语言就是标记语言
3、XML文档的开头要写声明,表明使用的XML版本和字符编码,声明后有且只有一个“根元素”,该标签包含了所有其他的标签。
4、<>&""’’,这些符号有特殊的书写格式,或者<!CDATA[这里面写]]>,就可以达到原来字符所代表的含义。
5、XML的主要用途是为在互联网上交换的信息赋予意义
6、XML是跨越了厂商或应用程序差异的通用数据交换格式。CSV是通用数据交换格式,只记录的数据,并没有为各个信息赋予意义
7、XML标记语言,每个人可能对相同的标签赋予了不同的含义,所有命名空间出现了,xmlns=命名空间,一般每个公司都有属于自己的命名空间,公司的URL是最好的选择。如:
<cat xmlns="http://www.gtapecity.com/yazawa">小雨</cat>
8、完整的XML文档包括XML声明(<?xml version=“1.0” encoding=“Shift_JIS”?>)、XML实例(就是文档中通过标签被标记的部分)、和DTD(定义XML实例的结构,比如标签的嵌套结构)(或者XML Schema,比DTD要新)
9、XML文档需要特定的程序来解读,比如windows中的DLL(xxxx.dll类型的文件)
10、XML在充当通用数据格式时有很大的价值,比如用语不同机器中不同程序之间的连接
第十二章-SE负责监管计算机系统的构建
1、软件开发过程模型有“瀑布模型”、“原型模型”、“螺旋模型”。
2、瀑布模型:开始—需求分析—外部设计—内部设计—程序设计—编码实现—测试—部署维护—目标(像瀑布一样不可逆,所以要执行好每个步骤的审核工作)
一头粉红色的大象_