0
点赞
收藏
分享

微信扫一扫

Centos8: 安装python2, 并设置默认版本

鲤鱼打个滚 2023-10-25 阅读 12

fly021311

当前JavaEE初阶的阶段知识总结

  1. 多线程

  2. 文件IO

    1. 文件系统操作 ~~ File类.

    2. 文件内容操作 ~~ 读文件,写文件.

    3. IO 流对象.

      • 流(Stream),形象的比喻,读取文件,就像水流一样,读写文件的时候,和水流类似,读100字节,可以一次读1个字节,100次完成;也可以一次读10个字节,10次完成……

      • 在Java标准库中,提供了一组类,负责完成IO流式操作.

        • 字节流: 以字节为基本单位

          • InputStream 输入流,把数据从硬盘,读取到内存中.
          • OutputStream 输出流,把数据从内存写入到硬盘里.
        • 字符流: 以字符为基本单位

          • Reader 输入流
          • Writer 输出流
        • 上述这四个类,实际上,标准库还提供了很多具体的类的实现,虽然这里涉及到的类非常多,但是实际上大家的使用方法,都是差不多的.

          四个核心操作:

          1. 打开文件 ~~ 构造流对象的时候,指定文件路径(绝对路径,相对路径)

          2. 读文件 ~~ read 参数是一个输出型参数

          3. 写文件 ~~ write

          4. 关闭文件 ~~ close

  3. 网络编程&网络原理

    1. 协议

      网络中的基本概念 ~~ 协议: 针对数据格式的约定.

      1. 协议分层
        1. 网络通信,是一个很复杂的工作,如果使用一个协议来完成所有的工作,这个协议就会很复杂. => 由此想到了,协议拆分,大的协议变成多个小点的协议,每个协议负责一部分工作.
        2. 由于拆分出来的协议太多了,按照协议的功能/作用,进行不同程度的分类 => 即协议分层,而为了让协议之间更好的配合,约定,上层协议调用下层协议,下层协议给上层协议提供服务.(协议之间不能跨层交互) => 就构成了一个**“协议栈**”
        3. “协议栈”: OSI 七层模型, TCP/IP 五层模型
          1. 应用层: 数据具体要怎么使用.
          2. 传输层: 只考虑起点和终点.
          3. 网络层: 负责任意两个节点之间的传输,路径传输.
          4. 数据链路层: 负责相邻节点之间的数据传输(通过网线/光纤/无线直接相连的两个路由器/交互机/主机….)
          5. 物理层: 信息传输的公路
      2. 网络数据传输的基本流程:
        1. 封装: 发送方,把数据从上到下层层加上协议报头(包装快递).
        2. 分用: 接受方,把数据从下层到上层进行解析(拆快递).
    2. 网络编程

      1. Socket (网络编程套接字) ~~ 注: UDP,TCP都是传输层协议.

        1. UDP 的 socket

          1. DatagramSocket , 代表一个 socket 对象,本质上一个文件,相当于网卡的抽象.

          2. DatagramPacket , 代表一个 UDP 数据报.

        2. TCP 的 socket

          1. ServerSocket 专门给服务器用的.

          2. Socket 服务器客户端都会用到.

          3. 编写TCP的客户端服务器程序的时候,涉及到“长连接”“短连接”的问题.

          4. TCP服务器如果不使用多线程,可能会无法处理多个客户端.

        3. 服务器程序典型流程

          1. 启动服务器(初始化),进行 Socket 的实例化.
          2. 进入主循环(while true)
            1. 读取请求并解析
            2. 根据请求计算响应
            3. 把响应写回到客户端
        4. 客户端典型流程

          1. 启动客户端,进行 socket 实例化.
          2. 进入主循环.
            1. 读取用户输入的内容.
            2. 构造请求并发送.
            3. 读取响应结果.
            4. 把结果显示给用户.
举报

相关推荐

0 条评论