单例模式及七大常用网络协议
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了单例模式及七大常用网络协议,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4625字,纯文字阅读大概需要7分钟。
内容图文
单例模式(工厂模式):
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
注意:
- 1、单例类只能有一个实例。
- 2、单例类必须自己创建自己的唯一实例。
- 3、单例类必须给所有其他对象提供这一实例。
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。
何时使用:当您想控制实例数目,节省系统资源的时候。
如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。
关键代码:构造函数是私有的。
应用实例:
1、一个班级只有一个班主任。 (static类使用)
2、Windows 是多进程多线程的,在操作一个文件的时候,就不可避免地出 现多个进程或线程同时操作一个文件的现象,所以所有文件的处理必须通过唯一的实例来进行。
3、一些设备管理器常常设计为单例模式,比如一个电脑有两台打印机,在输出的时候就要处理不能两台打印机打印同一个文件。
优点:
1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。
2、避免对资源的多重占用(比如写文件操作)。
缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。
7大常用网络协议
一:NETBEUI NETBEUI是为IBM开发的非
路由协议,用于携带NETBIOS通信。 二:IPX/SPX IPX是NOVELL用于NETWARE客户端/服务器的协议群组,避免了NETBEUI的弱点。 三:TCP/IP TCP/IP协议族中包括上百个互为关联的协议,不同功能的协议分布在不同的协议层, 几个常用协议如下:
1、Telnet(Remote Login):提供远程登录功能,一台计算机用户可以登录到远程的另一台计算机上,如同在远程主机上直接操作一样。
2、FTP(File Transfer Protocol):
远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。
3、SMTP(Simple Mail transfer Protocol):简单邮政传输协议,用于传输电子邮件。
4、NFS(Network File Server):网络
文件服务器,可使多台计算机透明地访问彼此的目录。
5、UDP(User Datagram Protocol):用户数据包协议,它和TCP一样位于
传输层,和IP协议配合使用,在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。
TCP/IP协议
TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议UDP、TELNET 或 FTP协议,以及我们更加熟悉的http、ftp、pop3协议等等。
TCP协议(传输控制协议):
TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系
TCP 最主要的特点
TCP 是面向连接的运输层协议。应用程序在使用 TCP 协议之前,必须先建立 TCP 连接。在传送数据完毕后,必须释放已经建立的 TCP 连接
每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的(一对一)
TCP 提供可靠交付的服务。通过 TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达
TCP 提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接受缓存,用来临时存放双向通信的数据
面向字节流。TCP 中的“流”指的是流入到进程或从进程流出的字节序列
TCP 把连接作为最基本的抽象,TCP 连接的端点叫做套接字(socket)或插口,根据 RFC 793 的定义:端口号拼接到(concatenated with) IP 地址即构成了套接字
套接字 socket = (IP 地址:端口号)
同一个 IP 地址可以有多个不同的 TCP 连接,而同一个端口号也可以出现在多个不同的 TCP 连接中
UDP协议(
用户数据报协议(User Datagram Protocol)):
一个无连接的传输协议,UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据报的方法。Internet 的
传输层有两个主要协议,互为补充。无连接的是 UDP,给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,。
面向连接的是TCP,该协议几乎做了所有的事情。
UDP协议的主要作用是将网络数据流量压缩成数据包的形式。
一个典型的数据包就是一个
二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。
内容:UDP是
OSI参考模型中一种无连接的传输层协议,DP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。
UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。常用的UDP
端口号有:53(DNS)、69(TFTP)、161(SNMP),使用UDP协议包括:TFTP、SNMP、NFS、DNS、BOOTP。
UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等。
UDP协议和TCP协议不同:
1.TCP 和 UDP 在发送报文时采用的方式完全不同。TCP 并不关心应用进程一次把多长的报文发送到 TCP 的缓存中,而是根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)。
2.Internet 的
传输层有两个主要协议,互为补充。无连接的是 UDP,给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,。
面向连接的是TCP,该协议几乎做了所有的事情。
?
注:知识点是个人总结,如有错误请见谅,欢迎指正!
内容总结
以上是互联网集市为您收集整理的单例模式及七大常用网络协议全部内容,希望文章能够帮你解决单例模式及七大常用网络协议所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
来源:【匿名】