一些笔记

来源:互联网 发布:淘宝企业店铺申请时间 编辑:程序博客网 时间:2024/06/05 02:33

 当调用getContent()方法是,他会返回某种对象的Object引用,而你可以调用该对象的方法,采用更方便的方式检索数据。但是在调用该方法前,必须调用instanceof验证对象的类型,防止类产生异常。
如JPEG资源,getContent()返回一个对象,
URL  url = new URL(args[0]);
Object o = url.getContent();
if(o instanceof ImageProducer)
{
ImageProducer ip = (ImageProducer)o;
}
URLConnection 的方法反映了资源和连接的细节信息,使我们能编写代码向资
源写入信息。

读《编程高手箴言》
编程的根本原则:
成对代码:
比如你写了一个分配内存的代码,紧接着就写释放内存的代码,然后在这中间添加你要用这段内存来干嘛的代码。成对代码的最大优点就是马上就能编译调试。就算你只写了一个for循环然后是两个{}。
分块阅读程序,很明显两个大括号之间爱你就是一块代码
代码本身体现不出价值来,有价值的代码一定是不仅格式非常规范,而且还要有很详细的设计思路和注释。注视格式是非常重要的。如果代码没有注视和规范,是没有价值的。
调试的重要性:
将如何去调试,实际上就是在将一种解决问题的思路。调试是除了了解设计程序/平台外,一个非常重要的难关。如果不懂调试,则永远成不了高手。
在学习的过程中,对汇编语言/体系结构会有进一步的了解
把下面的程序改写成汇编代码:
动态库很重要:包括他的代码和数据都是独立的,绝对不会和其他的动态库串在一起。
程序设计流程:
拆出模块:
第一:明确目标
第二:对操作系统提供那些功能,程序如何和操作系统接口考虑清楚
第三:就是砍,把他分开,要把它拆成一个个的独立模块
第四:再进一步去实现,从小到大进行设计
保证程序可测性
所有的代码必须是经过测试的,必须是一步一步调试过的
中断处理:
中断使得CPU暂停正在运行的事件转去处理另一事件。其实,中断还可以认为是一种函数一的调用,不过,这个函数随时都可能调用的。在8086/8088的计算机中,支持256种类型的中断,起中断编号依次为0~00ffH。
每种中断都有一个中断处理程序与之对应。这些处理程序的段值和偏移量都被安排在内存的最顶端。因为他们占用了1KB字节空间。所以当发生中断是,CPU根据中断向量表就可以很快地查找到对应的处理程序来处理中断事件

两台计算机之间的虚拟连接表现为套接字(socket).套接字允许数据的发送和接受,但是UDP套接字和TCP套接字之间有本质的区别。首先TCP套接字连接到单个计算机,然而UDP套接子可以向多台计算机传输和接受数据。其次,UDP套接字只能发送和接受数据包,然而TCP允许通过字节流的数据传输(表现为(InputStream)和(OutputStream))。为了在网络上传输,他们被转换为数据包,不需要程序员干涉。
1UDP(用户数据报协议)上的TCP的优点
(1)自动化地错误控制
TCP流上的数据传输比通过UDP的信息包的传输更可靠。TCP保证了数据的送达--在传输过程中丢失的数据包将被重新传输。实际上,IP和UDP不保证送达,当数据包丢失的时候他们呢也不会发出任何警告。在TCP中,如果接受者发送一个肯定的应答就禁止计时器,但是如果在超时前还没有收到肯定的应答,数据包就被重新传输。这意味着写入某个TCP套接字的任何数据将到达另一方面不需要程序员的进一步干涉。错误控制的代码都有TCP处理了。
(2)可靠性
因为在TCP连接中有多方参与的两台计算机之间的数据通过IP数据报传输,数据包达到的次序可能经常出现不同。次序问题已经被TCP处理好了--每个数据包都包含了一个用于排序的序列号。后发送/先到达的数据报将保持在一个队列中,直到排好次序的数据可以使用为止。接着数据就可以通过套接字的接口传递到应用程序中。
(3)易于使用
TCP允许程序员用一种完全不同的方式思考问题,而这种方式更加现代化。数据不是被处理为不连续的单元(数据包),而是被处理为连续的流,就像目前所熟悉的I/O流。
2:使用端口在应用程序之间通讯
TCP和UDP之间差距巨大,但是在两种协议之间也有一项重要的相似性。两者都共享了通讯端口的概念,他可以区别各个应用程序。在相同的端口上可以运行多个服务和客户端。
当TCP套接字建立到某台计算机的连接的时候,他需要2部分非常重要的信息才能连接到远程客户端--该计算机的IP地址和端口号。此外,本机的IP地址和端口号。此外,本地的IP地址和端口号也将绑定到他上面,因此远程计算机能够识别是哪一个应用程序建立了连接
允许多个TCP应用程序在同一台计算机上运行
TCP中的端口和UDP中的端口类似-->他们的数字范围1-65535,1024以下的端口是受限制的。只被知名的服务使用
ssh 22
Telnet 23
SMTP(简单邮件传输协议)25
tftp 69
HTTP(超文本传输协议)80
pop3(邮局协议版本) 110
3套接字操作
TCP套接字可以执行多种操作,包括
A:建立到某个远程主机的连接。
B:给远程主机发送数据
C:从远程主机接受数据
D:关闭连接。
此外还有一些特殊类型的套接字,他们提供绑定到特定端口好的服务。这类套接字通常在服务器中,可作以下操作:
绑定到某个本地端口
从远程主机接受输入数据
从本地端口取消绑定

二:TCP和客户端/服务器范型
使用套接字的程序也被分为两类-->客户端程序和服务器程序
1。客户端/服务器范型-->把软件分为两类-->客户端程序和服务器程序
客户端软件启动一个连接并发送请求,而服务器软件监听连接并处理请求。
在UDP编程环境中,没有建立实际的连接,并且UDP应用程序可以在相同的套接字上建立并接受请求。在TCP环境中,两台计算机之间建立了连接,客户端/服务器范型是相对应的。

原创粉丝点击