学习目标

  • 网络编程
    • 网络编程三要素
    • TCP与UDP协议
    • 基于TCP协议案例
  • 设计模式
    • 单列模式
    • 多例模式
    • 工厂模式

      1. 网络编程

      1.1 网络编程三要素及特点 ?

      网络编程:就是可以让两台计算机进行数据交互。
  1. IP地址
  • 是设备在网络中的地址,是唯一的标识;是分配给上网设备的数字标签。

    1. 常见的IP分类为:ipv4ipv6
  • lIPv4地址:点分十进制表示法。

  • IPv6地址:采用128位地址长度,16位一组,一共分成8组。
  • 常用命令:
    • ipconfig:查看本机IP地址(ipconfig/all:可查看主机号)
    • ping IP地址:检查网络是否连通
  • Java中IP操作:InetAddress:此类表示Internet协议(IP)地址
  1. 端口

应用程序在设备中唯一的标识。
注意:一个端口号只能被一个应用程序使用。

  1. 协议(面试重点)

数据在网络中传输的规则,常见的协议有UDP协议和TCP协议。

2.2 TCP与UDP协议之间区别 ?


UDP协议 TCP协议
属性 用户数据报协议(User Datagram Protocol) 传输控制协议 (Transmission Control Protocol)
面向是否连接 面向无连接 面向连接
特点 速度快,有大小限制一次最多发送64K,数据不安全,易丢失数据 速度慢,没有大小限制,数据安全。

2.设计模式

2.1 为什么要使用单例模式 ?

  • 单例模式,是一种常用的软件设计模式。通过单例模式可以保证项目中,应用该模式的这个类只有一个实例,即一个类只有一个对象实例。
  • 好处:可以节省内存、共享数据。

    2.2 单例中懒汉式和饿汉式的区别(面试) ?

  1. 懒汉单例设计模式就是调用getlnstance(方法时对象才被创建,也就是说先不急着实例化出对象,等要用的时候才实例化出对象。不着急,故称为”懒汉模式”。

代码如下:

  1. private King2(){}
  2. //在该类内部定义一个private static修饰的成员变量 . 此变量不需要赋值
  3. private static King2 king2;
  4. //定义一个静态方法返回这个唯一对象。 此方法需要加上synchronized关键字保证在多线程中也只有一个实例对象
  5. //
  6. public static King2 getInstance(){
  7. if (king2==null){
  8. king2=new King2();
  9. }
  10. return king2;
  11. }
  1. 饿汉单例设计模式就是使用类的时候已经将对象创建完毕,不管以后会不会使用到该实例化对象。先创建了再说。很着急的样子。故被称为”饿汉模式””。

代码如下:

  1. private King(){
  2. }
  3. //在该类内部产生一个唯一的实例化对象,并且将其封装为private static 类型的成员变量。
  4. private static final King KING=new King();
  5. //定义一个静态方法返回这个唯一对象
  6. public static King getInstance(){
  7. return KING;
  8. }

2.3 为什么要使用工厂模式 ?

  1. 概述:
  • 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式它提供了一种创建对象的最佳方式。之前我们创建类对象时, 都是使用 new 对象的形式创建, 除new 对象方式以外, 工厂模式也可以创建对象.
  1. 作用
  • 工厂模式的存在可以改变创建对象的方式,降低类与类之间的耦合问题 (耦合指的就是两个类之间的联系的紧密程度)。

    3. 当日问题小结

    3.1 当日遇到的问题

    3.2 出现问题原因

    3.3 解决问题方案