zoukankan      html  css  js  c++  java
  • SpringBoot仿微信项目(一)---基础知识

    前端用到的技术 MUI+H5PLUS

    后端用到的技术 Spring Boot netty

           聊天内容的收发 用的netty 

      数据库用的MySQL和MariaDB

      分布式文件图片服务器 用的nginx+fastdfs 

      持久层用的MyBatis

    流的概念和作用

    流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

    IO流的分类

    • 根据处理数据类型的不同分为:字符流和字节流
    • 根据数据流向不同分为:输入流和输出流

    Netty 初识

      1 netty是一个提供了易于使用的API的客户端/服务端框架

      2 并发高-NIO(非阻塞IO)

      3 传输快 零拷贝 (传统的传输方式 把数据从IO流中先读出来放到缓存中,再从缓存中放到堆栈中,数据经历了两次拷贝 造成资源浪费;而netty 在需要接受传输数据时,直接开辟一个新的堆内存,这样直接把IO中的数据存到堆中)

    阻塞和非阻塞

      线程访问资源时,该资源是否准备就绪的一种处理方式 非阻塞 类似于DMA

    同步与异步

      同步和异步是指访问数据的一种机制

    BIO block IO 同步阻塞 缺点 并发处理能力低

      

    NIO NewIO同步非阻塞IO

      

    AIO 异步非阻塞IO

    生活实例

      

    BIO NIO AIO的区别

      

    面试题

      

    再看Netty

      提供了三个Reactor线程模型

        1 单线程模型 : 所有的IO操作都由一个NIO线程处理  (适用于小型的应用场景)

          

        2 多线程模型 : 由一组NIO线程处理IO操作

          

        3 主从线程模型 : 一组线程池接受请求,一组线程池处理IO

          

  • 相关阅读:
    centos7安装kubenetes
    用户密码字典
    curl使用
    docker部署rabbitmq集群
    记一次使用docker搭建fastdfs服务的过程
    filebeat删除多余标签
    Python format格式化输出
    python3 统计NGINX pv uv 最多IP访问
    linux修改网卡名为eth0
    模式查找
  • 原文地址:https://www.cnblogs.com/thinkinpakho/p/10167189.html
Copyright © 2011-2022 走看看