zoukankan      html  css  js  c++  java
  • 知识点梳理 网络基础

    2.网络基础
    端口:设备与外界通讯交流的出口

    osi七层协议:
    应用层,
    表示层,>> 应用层
    会话层.

    传输层
    网络层

    数据链路层
    物理层 2者可以叫网络接口层

    tcp :可靠的,面向连接的协议eg:打电话.传输效率低全双工通讯(发送缓存&接受缓存)面向字节流.
    使用tcp的应用: web浏览器; 电子邮件,文件传输程序

    udp: 不可靠的,无连接的服务,传输效率高(发送时延小),一对一,一对多,多对以,多对多,面向保温,无拥堵现象
    使用udp的应用:域名系统:视频流;ip语音

    黏包现象:同时执行多条命令之后,得到的结果很可能只有一部分,在执行其他命令的时候又接到之前执行的另一部分结果,
    数据粘连在一起的现象就是黏包.
    解决办法,加报头,struct

    实际情况是 发送和接受方都存在缓存机制,数据存储在缓存区中,假设每次取得1024个数据,
    就可能有些数据在缓存池中没有被get到,从而导致这种现象.
    黏包现象只发生在tcp协议中:
    1.从表面上看,黏包问题主要是因为发送和接受方的缓存机制,tcp协议面向流通信的特点
    2.实际上,主要还是因为接受方不知道消息之间的界限,不知道一次性提取多少字节数据所造成的.udp中不存在这个现象

    3.py2和py3的简单区别
    1.编码和字符串问题:
    字符串 py2中存在2种 unicode 用unicode存储
    (str/bytes) 用字节存储
    py3中 str 本质使用unicode存储
    py3中 bytes 使用字节存储

    编码:
    py2 : = ascii
    py3 : utf-8

    以太网地址就是指MAC地址
    2. 继承
    py2中有2种继承类类型 经典类/新式类
    继承原则 经典类 一条路走到黑,从左往右,不撞南墙不回头

    py3中 只有一种继承类型
    新式类,遵循c3算法

    3.dhcp,自动为局域网内的电脑分配ip
    4.网关,路由器中连接交换机的端口
    5.ip,4个点分的十进制表示 192.168.13.128
    6.子网掩码. 255.255.255.0
    作用:将挡住的ip位数作为网段
    未挡住的部分作为可变的值
    7.局域网/广域网/城域网
    8.arp协议 oSI模型有七层,TCP在第4层传输层,IP在第3层网络层,而ARP在第2层数据链路层
    是根据IP地址获取物理地址的一个TCP/IP协议
    9.dns:域名解析
    10.列表生成式 v= [lambda x;x+i for i in range(10)]

    11.操作系统/应用程序
    a.硬件
    - 硬盘,cpu,主板,显卡,内存,电源...
    b.系统 :是程序员编写出来的软件,用于控制计算机的硬件,使其相互配合协调工作

    12.进程,线程,协程的区别和练习
    进程:进程即是正在执行的一个过程,进程是对正在运行程序的一个抽象,
    进程是资源分配的最小单元,进城之间数据隔离
    一个进程中最少有一个线程,可以有多个线程,进程中存在GIL全局解释器锁
    作用是用于限制同一个时刻,一个进程中只有一个线程被cpu调度,.
    默认gil锁在执行100个cpu命令后退出(过期时间)
    如果是计算密集型操作,最好实用多进程可以提高效率

    线程是cpu调度的最小单元,线程中数据共享threading.Thread(target= function, args=(i))
    isAlive()返回线程是否活动
    getName()返回线程名
    setNmae()设置线程名
    .current_thread() 主线程
    threading,get_ident()获取当前线程id
    ThreadPoolExecitor()

    进程池,线程池
    from concurrent .futures impoet ThreadPoolexecutor ,processpoolexecutor
    pool = ProcessPool Exucutor(5)
    pool = threapoolexecutor(5)
    pool.submit(f,i)

    cpu 计算io 操作,输入,输出,socket 终端命令 推荐使用多线程
    多个线程共同一个进程的地址空间中的资源,是对一台计算机上多个继承的模拟,
    有时也称线程为轻量级的进程
    不同的进程之间是充满敌意的,彼此抢占,竞争cpu的关系,如 迅雷会和qq抢资源,
    而同一个进程是由同一个程序员的程序创建,所有同一进程内的线程是合作关系,
    一个线程可以访问另一个线程的内存地址,大家都是一家人,可以共享.


    协程:是微线程,读一个线程进行微操作
  • 相关阅读:
    web前端之jQuery
    java之awt编程
    java连接数据库的基本操作
    实习生应聘经历2018/3/1
    javaweb学习之建立简单网站
    mysql之视图
    71. Simplify Path
    347. Top K Frequent Elements
    7. Reverse Integer
    26. Remove Duplicates from Sorted Array
  • 原文地址:https://www.cnblogs.com/zzy7372/p/9647960.html
Copyright © 2011-2022 走看看