随笔分类 -  计算机基础/概念

1
摘要:调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随时跳转至此段代码的起始地址,执行完后再返回跳转时的后续地址。CPU为此准备了现成的调用指令,调用时可以压栈保护现场,调用结束后从堆栈中弹出现场地址,以便自动返回。借堆栈保护现场真是一项绝妙的发明,它使调用者和被调者可以互不相识,于是才有了后来的函数和构件,使吾辈编程者如此轻松愉快。若评选对人类影响最大之发明,在火与车轮之后,笔者当推压栈调用。话虽这样说,此调用机制并非完美。回调函数就是一例。函数之类本是为调用者准备的美餐,其烹制者应对食客了如指掌,但实情并非如此。例如,写一个快速排序函数供他人调用,其中必... 阅读全文
posted @ 2013-10-10 11:36 cateatmycode 阅读(1304) 评论(0) 推荐(0)
摘要:1.基础概念篇1.1介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到 阅读全文
posted @ 2013-01-17 21:27 cateatmycode 阅读(294) 评论(0) 推荐(0)
摘要:在网上找搜索概念的解释,描述的不是很清晰。摘录两个比较靠谱的: 1 页面一直锁定在物理内存中,不会被换出到页面交换文件中 2 Windows把虚拟地址分为用户地址空间和系统地址空间,用户地址空间是给应用程序使用的,系统地址空间是给系统核心和驱动程序使用的。系统地址空间分为分页池和非分页池,分页池是指映射到分页文件的虚拟地址,当要使用该地址时才交换到物理内存中,由系统来调度;非分页池是指直接在物理内存中分配的内存。“页面缓冲池”就是进程占用的分页池中的虚拟内存,是进程调用某些系统功能时,由系统核心或者驱动程序分配的。如果一个程序占用的页面缓冲池内存不断增大,就是内存泄露,通常应该是创建或打开了句 阅读全文
posted @ 2012-12-26 19:03 cateatmycode 阅读(1035) 评论(0) 推荐(0)
摘要:1. 十 -----> 二 给你一个十进制,比如:6,如果将它转换成二进制数呢? 10进制数转换成二进制数,这是一个连续除2的过程: 把要转换的数,除以2,得到商和余数, 将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。 听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。 “把要转换的数,除以2,得到商和余数”。 那么:十转二示意图要转换的数是6, 6 ÷ 2,得到商是3,余数是0。 “将商继续除以2,直到商为0……” 现在商是3,还不是0,所以继续除以2。 那就: 3 ÷ 2, 得到商是1,余数是1。 “将商继续除以2,直到商为0… 阅读全文
posted @ 2012-08-17 15:47 cateatmycode 阅读(829) 评论(0) 推荐(0)
摘要:雅虎实验室的研究表明,对于大多数网站来说,只有不到10%-20%的响应时间是消耗在从Web服务器上下载HTML文档到浏览器中的。哪另外的80%到90%的时间,消耗到哪里去了呢? 雅虎的前首席性能专家、著名网页性能分析YSlow的创建者Steve Souders的《High Performance Web Sites》(国内翻译为:《高性能网站建设指南》)给大家揭开另外80%-90%的秘密。书中,Souders简要地提出来关于Web前段性能的十四条 黄金法则。如下:Make Fewer HTTP Requests(尽量减少HTTP请求)Use a Content Delivery Networ. 阅读全文
posted @ 2012-07-24 10:32 cateatmycode 阅读(413) 评论(0) 推荐(0)
摘要:我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。 下面就是我的学习笔记。因为这些协议实在太复杂、太庞大,我想整理一个简洁的框架,帮助自己从总体上把握它们。为了保证简单易懂,我做了大量的简化,有些地方并不全面和精确,但是应该能够说清楚 阅读全文
posted @ 2012-07-17 18:29 cateatmycode 阅读(185) 评论(0) 推荐(0)
摘要:绪论01 算法的作用一般来说,算法(algorithm)是一系列的步骤,它规定如何完成一项任何。如,关于烹饪的算法称为菜谱,演奏音乐的算法称为乐谱某一个算法的表示称为一个程序(program)。开发一个程序,使之采用与机器兼容的形式进行编码并将其输入到机器中得过程称为程序设计(programming)。程序及其所表示的算法总称为软件(software),而机器设备本身称为硬件机器的智能级别受限与算法所传达的智能。只有存在执行某一项任务的算法时,才可以制造出执行这一任务的机器。换言之,如果我们找不到一个解决某问题的算法,那么这个问题的解决就超过了机器的能力。哥德尔不完备性定理——在任何一个包括传 阅读全文
posted @ 2012-07-15 17:07 cateatmycode 阅读(491) 评论(0) 推荐(0)
摘要:最近看《REST in Practice》, 发现 HTTP 如此之多的状态码都有各自的含义,要准确使用并不难,但现实当中很少人能够做得到。大多数人熟悉的状态码就那几个,平时也不会去阅读 RFC 2616,结果反复使用的也就是那几个状态码。其实很多 REST 中可能遇到的情况,在 HTTP 状态码中都已经有考虑到,不需要自己去发明新的状态码,也不需要在 header 或者 body 自定义错误信息。在说状态码之前,首先建议大家还是先阅读一下 RFC 2616 中的相关章节,看看已有的状态码描述都是什么。我相信有部分状态码是你看了描述也不知道用来干什么的,这时候就需要有更具体的例子来告诉你怎么用 阅读全文
posted @ 2012-06-19 16:04 cateatmycode 阅读(306) 评论(0) 推荐(0)
摘要:在博客园潜水好久了,今天兴致高昂的想写一篇博客,写的内容就是最近刚刚弄懂的关于位运算的题目。可能对那些老鸟老说这些是在基础不过的东西了,但是我相信还是有很多的博客需要了解并掌握这个基础的。做题目前首先需要掌握的知识:~ 取反运算符,如果运算位为1取反后则变为0,如果运算为为0取反后则为1& 与运算符,当运算的两个数同时为1时,则与运算的结果才为1,否则为0| 或运算符,当运算的两个数只要有一个1时,则或运算的结果为1,否则为0.^ 异或运算符,当两个运算位不同时为1,相同时是0>> 右移运算符<< 左移运算符在内存中的运算都是以补码的形式存在的。正数的原码、反码 阅读全文
posted @ 2012-05-31 22:09 cateatmycode 阅读(229) 评论(0) 推荐(0)
摘要:要了解计算机程序如何执行的,我们需要了解一个典型系统的硬件组成。如下图: 总线 贯穿整个系统的是一组电子管道,称作总线。它携带信息字节并负责在各个部件间传递。通常总线被设计成传送定长的字节块,也就是字。字中的字节数是一个基本的系统参数,个个系统中也一样。有的系统是4个字节的字长,有8个字节的字长,也有的小系统是用的1个字节或者2个字节的字长。 I/O设备 I/O设备是系统与外界的联系通道。包括用户输入的例如键盘和鼠标,输出的例如显示器、打印机、投影仪。以及用于长期存储数据和程序的磁盘。 每个I/O设备都是通过一个控制器或适配器与I/O总线连接起来。控制器和适配器之间的区别主要在... 阅读全文
posted @ 2012-05-31 22:08 cateatmycode 阅读(521) 评论(0) 推荐(0)
摘要:OSI/RM共分为七层,TCP/IP分为四层。TCP/IP中的网络接口层相当于OSI的物理层和数据链路层,TCP的应用层相当于OSI的应用层、表示层和会话层。其余层次基本对应。见图,其中外围深颜色的是OSI层次,内部白颜色的是TCP层次。 阅读全文
posted @ 2012-05-30 20:41 cateatmycode 阅读(913) 评论(0) 推荐(0)
摘要:基础知识1) 什么是”Last-Modified”?在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文件在服务期端最后被修改的时间,格式类似这样:Tue, 24 Apr 2012 13:53:56 GMT客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头,询问该时间之后文件是否有被修改过:If-Modified-Since: Tue, 24 Apr 2012 13:53:56 GMT如果服务器端的资源没有变化,则自动返回 HTTP 304 (N 阅读全文
posted @ 2012-05-27 17:03 cateatmycode 阅读(337) 评论(0) 推荐(0)
摘要:上传文件的表单中<form>要加属性enctype="multipart/form-data",很多人只是死记硬背知道上传表单要这么 写,知其然而不知其所以然。那到底为什么要添加这个属性呢?它是什么意思呢?它又有什么其他可选值呢? 其实form表单在你不写enctype属性时,也默认为其添加了enctype属性值,默认值是enctype="application/x- www-form-urlencoded".这个属性管理的是表单的MIME编码,共有三个值可选: ①application/x-www-form-urlencoded (默认值) 阅读全文
posted @ 2012-05-24 08:38 cateatmycode 阅读(10739) 评论(1) 推荐(3)
摘要:一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE URL全称是资源描述符,我们可以这样认 为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询 资源信息,而POST一般用于更新 资源信息(个人认为这是GET和POST的本质区别,也是协. 阅读全文
posted @ 2012-05-24 00:26 cateatmycode 阅读(255) 评论(0) 推荐(0)
摘要:名词解释:HTTP无状态:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系如果你要实现一个购物车,需要借助于Cookie或Session或服务器端API(如NSAPI and ISAPI)记录这些信息,请求服务器结算页面时同时将这些信息提交到服务器当你登录到一个网站时,你的登录状态也是由Cookie或Session来“记忆”的,因为服务器并不知道你是否登录优点:服务器不用为每个客户端连接分配内存来记忆大量状态,也不用在客户端失去连接时去清理内存,以更高效地去处理WEB业务缺点:客户端的每次请 阅读全文
posted @ 2012-05-24 00:25 cateatmycode 阅读(1797) 评论(0) 推荐(0)
摘要:1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文(参考:TCP报文 TCP报文格式)到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。2、连接终止协议(四次挥手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方.. 阅读全文
posted @ 2012-05-24 00:23 cateatmycode 阅读(245) 评论(0) 推荐(0)
摘要:RAM(random access memory)随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主 要用于存储短时间使用的程序。按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。特点随机存取 所谓“随机存取”,指的是当存储器中的数据被读取或写入时,所需要的时间与这段信息所在的位置无关。相对的,读取或写入顺序访问(Sequential Access)存储设备中的信息时,其所需要的时间与位置就会有关系(如磁带)。易失性 当电源.. 阅读全文
posted @ 2012-05-20 19:06 cateatmycode 阅读(1260) 评论(0) 推荐(0)
摘要:实参(argument):全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 形参(parameter):全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。形参的本质是一个名字,不占用内 阅读全文
posted @ 2012-05-10 12:37 cateatmycode 阅读(304) 评论(0) 推荐(0)
摘要:引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因 阅读全文
posted @ 2012-05-08 20:50 cateatmycode 阅读(194) 评论(0) 推荐(0)
摘要:相关链接:http://lips.lis.ntu.edu.tw/ytchiang/study/others/tcpiposi.htmOSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构。网络七层协议 - 网络七层协议计算机网络中的七层协议:OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7 阅读全文
posted @ 2012-05-08 18:10 cateatmycode 阅读(486) 评论(0) 推荐(0)

1