day26设计模式(单例模式&简单工厂模式&工厂方法模式)&网络编程(UDP协议&TCP协议)

      最后更新:2022-02-23 06:34:55 手机定位技术交流文章

      设计模式

      1、创建型  创建对象
      2、结构型  对象的组成
      3、行为型  对象的功能

      创建型模式:
      1、单例模式
      指的是在程序运行过程中,内存中只允许一个对象存在
      饿汉式
      懒汉式
      2、简单工厂模式
      3、工厂方法模式

      创建型的第一种:
      单例模式:保证在内存中只存在一个对象
      1、将构造方法私有化
      2、在类的成员变量的位置上创建一个对象
      3、提供一个公共的静态方法让外界获取到这个对象

      饿汉式:类一加载,就创建对象

      懒汉式:用的时候,再去创建对象,但是内存中始终只有一个对象
      1、懒加载(延迟加载)
      2、容易产生线程安全问题
      1) 在存在多线程环境中,只允许出现一个对象的类是共享数据
      2) 并且有多条语句操作着共享数据
      3) 需要使用锁来解决线程安全问题

      简单工厂模式(静态工厂方法模式)

      优点:
      客户端不需要负责创建对象,从而明确了各个类的职责

      缺点:
      我们定义的静态工厂类负责对象的创建,如果有新的对象增加
      获取某些对象的创建方式不同,就需要不断的去修改工厂类,不利于后期维护

      工厂方法模式的优缺点:
      优点:
      客户端不需要负责对象的创建,从而明确各个类的职责
      如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可
      不影响其他的代码,后期容易维护,增强了系统的扩展性。
      缺点:
      需要额外的写代码,增加了工作量

      网络编程

      网络通信三要素

      IP地址:InetAddress     网络中设备的标识,不易记忆,可用主机名

      端口号     用于标识进程的逻辑地址,不同进程的标识

      传输协议     通讯的规则     常见协议:TCP,UDP

      InetAddress类

      获取任意主机:getByName

      主机名:getHostName

      主机Ip地址:getHostAddress

      UDP协议发送数据:
      1、创建发送端的Socket对象
      2、创建数据,并把数据打包
      3、调用Socket对象的发送方法将数据发送出去
      4、释放资源,关闭Socket

      UDP协议接收数据:
      1、创建接收端的Socket对象
      2、创建一个数据包(接收容器)、
      3、调用Socket对象的接收方法接收数据
      4、解析数据包,得到数据并显示在控制台上
      5、释放资源,关闭Socket

      注意事项:
      接收端程序在绑定同一个端口的时候不能同时运行多个

      TCP协议客户端代码实现:
      1、创建客户端的Socket对象
      这一步如果成功创建对象,就说明连接已经建立成功
      2、获取输出流对象,向服务器写数据
      3、释放资源,关闭Socket服务

      注意事项:
      要先启动服务器端,再启动客户端,否则会报连接被拒绝异常

      TCP协议编写服务器端代码:
      1、创建服务器端Socket对象(ServerSocket)
      2、调用accept()方法,监听客户端的连接,返回一个对应客户端连接的Socket对象
      3、获取通道中的输入流对象,读取客户端发送的数据,并显示在控制台上
      4、释放资源,关闭Socket服务

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/18868.html

          热门文章

          文章分类