当前位置: 首页 > news >正文

JavaEE-初识网络

目录

  • 一、局域网
  • 二、广域网
  • 三、网络通信基础
    • 3.1 IP地址
    • 3.2 端口号
    • 3.3 协议
  • 四、协议分层
  • 五、封装和分用

一、局域网

局域网,网络种类,覆盖范围一般是方圆几千米之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。局域网可以实现文件管理、应用软件共享、打印机共享等功能,在使用过程当中,通过维护局域网网络安全,能够有效地保护资料安全,保证局域网网络能够正常稳定的运行

局域网,即 Local Area Network,简称LAN。

Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网; 局域网和局域网之间在没有连接的情况下, 是无法通信的。

  1. 基于网络直线
    在这里插入图片描述

  2. 基于集线器组建
    在这里插入图片描述

  3. 基于交换机组建
    在这里插入图片描述
    借助交换机,就组成了一个局域网、交换机上面的网口之间都是对等的。效果就是把插在上面的设备给组建成一个局域网,这个局域网内部的主机之间就可以相互进行访问。交换机是把若千个设备给组建到一个局域网中。

  4. 基于交换机和路由器组建

在这里插入图片描述
这种的话就是咱们日常中最常见的情况。
路由器这里有两类端口:
WAN口。
LAN口。
其中插在lan口上的设备,在一个局域网里通过wan口连接到另外一个局域网。
路由器则是连接了两个局域网,LAN 口是一个,WAN 又连了一个。

实际上交换机和路由器之间的界限已经很模糊了,因为二者的功能基本是相通的。

二、广域网

广域网,即 Wide Area Network,简称WAN。
通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。
在这里插入图片描述

三、网络通信基础

网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。
那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用IP地址来标识。

3.1 IP地址

概念
IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。
就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。
格式
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110。
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6。

3.2 端口号

概念
在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程。
类似发送快递时,不光需要指定收货地址(IP地址),还需要指定收货人(端口号)。
格式
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。
注意:
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。

3.3 协议

网络通信的时候,本质上,传输的是光信号和电信号
通过光信号的频率(高频率/低频率)电信号(高电平/低电平)来表示0和1

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:
协议三要素:

  1. 语法:即数据与控制信息的结构或格式;
    类似打电话时,双方要使用同样的语言:比如普通话 。
  2. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
    语义主要用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。
    类似打电话时,我跟我朋友说回来给我带个手抓饼,他说好的!
  3. 时序,即事件实现顺序的详细说明。
    时序定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是
    异步传输。
    协议(protocol)最终体现为在网络上传输的数据包的格式。
    作用
    为什么需要协议?
    就好比见网友,彼此协商胸口插支玫瑰花见面,这就是一种提前的约定,也可以称之为协议。
    在这里插入图片描述
    计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。

四、协议分层

在这里插入图片描述
在这里插入图片描述
好处:

  1. 每层协议不需要理解其他层协议的细节(更好的做到了封装)
    类似打电话的人,不需要理解电话的工作原理,就能完成打电话的操作
    制造电话的人,也不需要成为语言大师
  2. 把对应层的协议替换成其他协议(更好的解耦合)
    打电话的人,可以不使用有线电话,可以使用无线电话
    打电话的人,也可以使用英语,不使用汉语

OSI 七层模型
在这里插入图片描述
在这里插入图片描述
OSI 七层模型既复杂又不实用:所以 OSI 七层模型没有落地、实现。
实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现。

TCP/IP五层(或四层)模型
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
在这里插入图片描述
应用层 : 负责应用程序间沟通,如简单电子邮件传输( SMTP )、文件传输协议( FTP )、网络远程访问协议( Telnet )等。我们的网络编程主要就是针对应用层。
传输层 : 负责两台主机之间的数据传输。如传输控制协议 (TCP) ,能够确保数据可靠的从源主机发送到目标主机。
网络层 : 负责地址管理和路由选择。例如在 IP 协议中,通过 IP 地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器( Router )工作在网路层。
数据链路层 : 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步 ( 就是说从网线上检测到什么信号算作新帧的开始 ) 、冲突检测 ( 如果检测到冲突就自动重发 ) 、数据差错校验等工作。
有以太网、令牌环网,无线 LAN 等标准。交换机( Switch )工作在数据链路层。
物理层 : 负责光 / 电信号的传递方式。比如现在以太网通用的网线 ( 双绞 线 ) 、早期以太网采用的的同轴电缆 ( 现在主要用于有线电视 ) 、光纤,现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器( Hub )工作在物理层。
在这里插入图片描述
1、一台主机,其实就对应了物理层到应用层 五层(把这五层都给实现了)。
2、一台路由器,主要就是物理层到网络层 (主要是实现了物理层,数据链路层,网络层)。
3、一台交换机,主要就是物理层到数据链路层(主要是实现了物理层,数据链路层)。

五、封装和分用

在这里插入图片描述
例如,使用QQ给同学发消息,用户A在键盘上,输入一个”Hello“,按下发送键

应用层(QQ应用程序)
根据用户输入的内容,把数据构造成一个应用层的协议报文

QQ的代码中就会根据程序猿所设计的应用层协议,来构造出一格应用层的数据报文
在这里插入图片描述
在这里插入图片描述

应用层协议就调用操作系统提供的API,把应用层的数据交给传输层,即进入操作系统内核了。
传输层:(操作系统内核)
根据刚才传过来的数据,基于当前使用的传输层协议来构造储一个传输层的协议报文,其中最典型的协议比如UDP,TCP,这里以TCP为例。
在这里插入图片描述
这个构造TCP报文的过程可以看做是一个字符串拼接,其中TCP的报头中有很多信息,最重要的就是“源端口”和“目的端口”,可以理解为发件人和收件人的电话。接下来会把这个传输层的数据报交给网络层。

网络层:(操作系统内核)

拿到了完整的传输层数据报 就会再根据当前使用的网络层协议(例如 P),再次进行封装。 把 TCP 数据报构造成 IP 数据报,即还是添加上一个协议报头。
在这里插入图片描述
紧接着当前的网络层协议,就会把这个IP数据报交给数据链路层。

数据链路层(驱动程序)

在刚才的 IP 数据报基础上,根据当前使用的数据链路层的协议,给构造成一个 数据链路层的数据报典型的数据链路层的协议,叫做“以太网”,就会构造成一个“以太网数据帧"。

在这里插入图片描述
帧头里面存储的信息是接下来要传给硬件设备的地址是啥。IP协议里面写的地址是我出发的起点和到达的终点。
紧接着,数据链路层又会把这个数据交给物理层。

物理层(硬件设备)

物理层干的事情就是根据刚才的以太网数据帧把这里的0/1变成高低电平,通过网线传输出去,或者变成高频/低频电磁波,通过光纤/无线传播出去。

这样数据就离开了当前主机,前往下一个设备。

物理层(硬件设备)

主机 B 的网卡感知到了一组高低电平,然后就会把这些电平翻译成 0 1 的一串数据。然后这一串 0 1 就是一个完整的以太网数据帧。然后物理层就把这个数据交给了 数据链路层。

数据链路层(驱动)
在这里插入图片描述
数据链路层负责对这个数据进行解析,去掉帧头和帧尾,取出里面的 IP 数据报然后交给 网络层协议。

网络层(操作系统)
在这里插入图片描述
网络层协议(IP 协议) 又会对这个数据进行解析, 去掉协议报头,取出里面的 TCP 数据报再交给传输层。

传输层(操作系统内核)
在这里插入图片描述
传输层协议(TCP 协议)又会对这个数据进行解析,去 TCP 报头,取出里面的 TCP 数据报,交给应用层。

应用层(QQ程序)
在这里插入图片描述
应用层就会调用 socket API 从内核中读取到这个应用层数据报。再按照应用层协议进行解析,
根据解析结果给显示到窗口中。

相关文章:

python爬虫—学习笔记-4

课堂内容:删除原导出文件的venv,pycham打开此文夹,重新创建本地虚拟编译器。安装依赖库,打开pycham终端输入pip install -r yilaiku.txt,安装依赖库中的库。继续安装bs4、lxml库,命令为:pip install bs4 和 pip install lxml。安装好后,pycham来到spiders目录下,新建Py…...

望周知1.2

今日正式和HS_xh结为情侣,望周知。...

欢迎 Llama 3:Meta 的新一代开源大语言模型

介绍 Meta 公司的 Llama 3 是开放获取的 Llama 系列的最新版本,现已在 Hugging Face 平台发布。看到 Meta 持续致力于开放 AI 领域的发展令人振奋,我们也非常高兴地全力支持此次发布,并实现了与 Hugging Face 生态系统的深度集成。 Llama 3 提供两个版本:8B 版本适合在消费…...

怎么在电脑桌面上添加待办事项?

对于上班族来说,每天面对繁杂的工作任务,很容易遗漏或混淆重要事项。因此,在电脑桌面上添加待办事项清单显得尤为重要。这样做的好处是,能够随时查看和跟进任务,确保每项工作都能按时完成。例如,将一天中的关键会议、提交报告的时间节点、需要联系的客户等事项清晰列出,…...

前端框架技术革新历程:从原生DOM操作、数据双向绑定到虚拟DOM等框架原理深度解析,Web开发与用户体验的共赢

前端的发展与前端框架的发展相辅相成,形成了相互驱动、共同演进的关系。前端技术的进步不仅催生了前端框架的产生,也为其发展提供了源源不断的动力。 前端的发展 前端,即Web前端,是指在创建Web应用程序或网站过程中负责用户界面…...

php中常见的正则使用方法

在PHP中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找和替换字符串中的模式。下面是一些常见的PHP正则表达式匹配示例: 匹配数字:$pattern = /\d+/; $str = There are 123 apples and 456 oranges.; preg_match($pattern, $str, $matches);...

JavaEE-初识网络

目录一、局域网二、广域网三、网络通信基础3.1 IP地址3.2 端口号3.3 协议四、协议分层五、封装和分用一、局域网 局域网,网络种类,覆盖范围一般是方圆几千米之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。局…...

【23】C语言 | 初阶结构体

目录 1、结构的基础知识 2、结构成员的类型 3、结构体初始化 4、结构体的访问 5、结构体传参 1、结构的基础知识 结构是这些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 数组:一组相同类型的元素的集合 结构体:也是…...

【笔记】SemGCN

一. 论文总结 1.1 核心贡献 提出了一种改进的图卷积操作,称为语义图卷积(SemGConv),它源自cnn。其关键思想是学习图中暗示的边的信道权值,然后将它们与核矩阵结合起来。这大大提高了图卷积的能力。其次,我们引入了SemGCN&#x…...

Python机器学习:一元回归

→\rightarrow→回归效果评价 🌕 一元回归 一元回归主要研究一个自变量和一个因变量之间的关系,而这个自变量和因变量之间的关系又可分为线性回归和非线性回归。 ⭐️ 一元线性回归分析两个变量之间的线性关系,如ykxbykxbykxb中xxx和yyy就是…...

四轮两驱小车(三):STM32驱动MPU6050进行转弯

前言: 寒假已经过了一半了,前段时间跟学弟一起从零开始搞了一下深度学习,现在才想起来这个系列还没有更完。本篇博客主要介绍一下这个小车转直角弯的神器----MPU6050 MPU6050介绍: 我所采用的MPU6050是某宝上十几块钱的这种&…...

C++:类的static成员,友元和构造函数初始化列表

目录 一.类的构造函数的初始化列表 1.类的构造函数初始化列表的引入和介绍 2.初始化列表用于类的类对象成员的拷贝构造函数的调用 3.初始化列表的使用细则 4.使用初始化列表的一个注意事项 二.explicit关键字 三.C类的static成员 1.类中static修饰的成员变量 2.类中st…...

用友U8和旺店通企业版淘宝奇门单据接口集成

用友U8和旺店通企业奇门单据接口集成对接系统:旺店通企业奇门慧策最先以旺店通ERP切入商家核心管理痛点——订单管理,之后围绕电商经营管理中的核心管理诉求,先后布局流量获取、会员管理、仓库管理等其他重要经营模块。慧策的产品线从旺店通E…...

Java-黑马Java学习作业-day11集合学生管理系统

学习视频链接:https://www.bilibili.com/video/BV17F411T7Ao 文章目录题目1-将数组存放在集合中题目2-教师信息查看题目3-员工信息删改查操作题目4(综合)-图书管理系统题目1-将数组存放在集合中 现有如下字符串元素:[“aaa”, “…...

【Linux】冯诺依曼体系结构与操作系统概念理解

👑作者主页:安 度 因 🏠学习社区:StackFrame 📖专栏链接:Linux 文章目录一、前言二、冯诺依曼体系结构1、体系简述2、内存的重要性3、硬件方案解释软件行为4、体系结构中的数据流动5、拓展三、操作系统简述…...

protegeproject/mapping-masterPublic

protegeproject/mapping-masterPublicWatch 10 Fork 7Fork your own copy of protegeproject/mapping-masterStar 44CodeIssues15Pull requests3ActionsProjectsWikiSecurityInsightsMappingMasterDSL编辑新页面马丁奥康纳编辑了此页面 on Oct 29, 2020 85 修订页面4家Mapping…...

大数据分析案例-基于随机森林算法构建人口普查分析模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

【数据结构和算法】认识线性表中的链表,并实现单向链表

本文接着上文,上文我们认识了线性表的概念,并实现了静态、动态顺序表。接下来我们认识一个新概念链表。并实现单向链表的各种操作。顺序表还有不明白的看这一篇文章 (13条消息) 【数据结构和算法】实现线性表中的静态、动态顺序表_小王学代码的博客-CSDN…...

2023-1-28

具有给定数值的最小字符串 题目描述 小写字符 的 数值 是它在字母表中的位置(从 1 开始),因此 a 的数值为 1 ,b 的数值为 2 ,c 的数值为 3 ,以此类推。 字符串由若干小写字符组成,字符串的数…...

Linux_常见命令

1.ls ls -l 列出隐藏文件,并显示10项权限,类似如同下图 在部分发行版本的linux下,ll等同于ls -l 首先,第一列为-则代表着这一列是文件, 第一列为d则代表这一列为目录 除了第一位,那么其他还有9位,分为3组…...

【Linux】基础IO --- 系统级文件接口、文件描述符表、文件控制块、fd分配规则、重定向…

能一个人走的路别抱有任何期待,死不了 文章目录一、关于文件的重新认识二、语言和系统级的文件操作(语言和系统的联系)1.C语言文件操作接口(语言级别)1.1 文件的打开方式1.2 文件操作的相关函数1.3 细节问题2.系统级文…...

ffmpeg无损裁剪、合并视频

我用的版本是 ffmpeg version git-2020-06-23-ce297b4 官方文档 https://ffmpeg.org/ffmpeg-utils.html#time-duration-syntax 时间格式 [-][HH:]MM:SS[.m...] 或 [-]S[.m...][s|ms|us]裁剪视频 假设需要裁剪视频aaa.mp4,第5秒到第15秒 ffmpeg -ss 5 -to 15 -i…...

ATAC-seq分析:Annotating Peaks(9)

1. 注释开放区域 将已识别的无核小体区域与基因组特征(如基因和增强子)相关联通常很有趣。 一旦注释到基因或增强子的基因,我们就可以开始将 ATACseq 数据与这些基因的特征相关联。 (功能注释、表达变化、其他表观遗传状态&#x…...

蓝桥杯刷题015——最少刷题数(二分法+前缀和)

问题描述 小蓝老师教的编程课有 N 名学生, 编号依次是 1…N 。第 i 号学生这学期刷题的数量是 Ai​ 。 对于每一名学生, 请你计算他至少还要再刷多少道题, 才能使得全班刷题比他多的学生数不超过刷题比他少的学生数。 输入格式 第一行包含一个正整数 N 。 第二行包含 N 个整数:…...

Linux——进程

目录 冯诺依曼体系结构 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 承上启下 进程 基本概念 描述进程-PCB task_struct-PCB的一种 task_ struct内容分类 组织进程 查看进程 通过系统调用获取进程…...

Junit单元测试框架【基础篇】

Junit单元测试框架【基础篇】🍎一.Junit单元测试框架🍒1.1 注解🍒1.2 断言🍒1.3 用例执行顺序🍒1.4 测试套件🍉1.4.1 指定类🍉1.4.1 指定包🍒1.5 参数化🍉1.5.1 单参数&a…...

高通平台开发系列讲解(WIFI篇)什么是WLAN无线局域网

文章目录 一、什么是WLAN1.1、WLAN发展史1.2、WLAN工作频段二、高通相关文件2.1、配置文件2.2、开机启动2.3、wpa_supplicant沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文将基于高通平台介绍什么是无线局域网。 一、什么是WLAN 在WLAN领域被大规模推广和商用的是…...

JavaScript 变量

JavaScript 变量 变量是什么? 变量是计算机中用来存储数据的“容器”,它可以让计算机变得有记忆,通俗的理解变量就是使用【某个符号】来代表【某个具体的数值】(数据) JavaScript 变量 与代数一样,JavaScript 变量…...

C语言进阶——文件管理

每当我们写好一段代码运行结束之后,再次运行的时候就会发现,之前在终端上输入的数据都会消失,那么如何把之前输入的数据保存下来呢? 我们一般把数据持久化的方式有把数据存放在磁盘文件中、存放到数据库。打印等方式进行保存。 …...

[Rust笔记] 规则宏的“卫生保健”

规则宏代码的“卫生保健”规则宏mbe即是由macro_rules!宏所定义的宏。它的英文全称是Macro By Example。相比近乎“徒手攀岩”的Cpp模板元编程,rustc提供了有限的编译时宏代码检查功能(名曰:Mixed Hygiene宏的混合保健)。因为rust…...

芒果改进YOLOv7系列:超越ConvNeXt结构,原创结合Conv2Former改进结构,Transformer 风格的卷积网络视觉基线模型,高效涨点

💡该教程为改进进阶指南,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀💡本篇文章 基于 YOLOv5、YOLOv7芒果改进YOLO系列:芒果改进YOLOv7系列:超越ConvNeXt结构,原创结合Conv2Former改进结构,Transformer 风格的卷积网络视觉基线模型,高效涨点、…...

Java---微服务---RabbitMQ部署

RabbitMQ部署1.单机部署1.1.下载镜像1.2.安装MQ1.3访问管理端2.集群部署2.1.集群分类2.2.设置网络1.单机部署 我们在Centos7虚拟机中使用Docker来安装,如未安装dockr,请参考《Centos7安装Docker》 1.1.下载镜像 方式一:在线拉取 docker …...

别总写代码,这130个网站比涨工资都重要

今天推荐一些学习资源给大家,当然大家可以留言评论自己发现的优秀资源地址 搞学习 找书籍 冷知识 / 黑科技 写代码 资源搜索 小工具 导航页(工具集) 看视频 学设计 搞文档 找图片 搞学习 TED(最优质的演讲)&#xff1…...

Python 类方法简记

文章目录前言必须实例化的类方法使用静态装饰器的类方法使用类装饰器的类方法省流版本ref:前言 Python 的类可以有特定的方法。下面是三种设计类方法的模板。 class A(object):a adef foo1(self, name):print hello, namestaticmethoddef foo2(name):print hello, nameprint…...

分享136个ASP源码,总有一款适合您

ASP源码 分享136个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 136个ASP源码下载链接:https://pan.baidu.com/s/11db_K2QXns5pm8vMZBVPSw?pwds0lb 提取码&#x…...

【Python百日进阶-Web开发-Peewee】Day241 - Peewee 安装和测试、快速开始

文章目录 一、安装和测试1.1 使用 git 安装1.2 运行测试1.3 可选依赖项1.4 关于 SQLite 扩展的注意事项二、快速开始2.1 模型定义2.2 存储数据2.3 检索数据2.3.1 获取单条记录2.3.2 记录列表2.3.3 排序2.3.4 组合过滤器表达式2.3.5 聚合和预取2.3.6 SQL 函数2.4 数据库2.4.1 使…...

手机提供GMS支持(适用安卓和鸿蒙系统)

手机提供GMS支持 - 适用安卓和鸿蒙系统前言方式1:安装GMS套件(不推荐)方式2:安装OurPlay(推荐)方式3:安装Gspace(推荐)前言 本文提供多种为手机(安卓和鸿蒙系…...

[JavaEE]线程池

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录: 1. 线程池是什么? 2. 线程池的实现原理 3. 标准…...

Redis缓存污染了怎么办?

我们应用Redis缓存时,如果能缓存会被反复访问的数据,那就能加速业务应用的访问,但是,如果发生了缓存污染,那么,缓存对业务应用的加速作用就减少了。 在一些场景下,有些数据被访问的次数非常小&…...

特斯拉印证成本仍是工业制造取胜的关键,反证中国制造的优势

近20年来,业界对于工业制造的竞争优势开始逐渐偏离成本控制,然而如今特斯拉在全球的成功却正在印证着工业制造的成功仍然在于成本,成本才是工业制造取胜的关键,其他任何被吹嘘的个性化、创新等全都是骗人的把戏。特斯拉的成功曾被…...

工具及方法 - 斗地主技巧

斗地主游戏起源 斗地主是流行于湖北武汉、汉阳一带的一种扑克游戏。游戏需由3个玩家进行,用一副54张牌(连鬼牌),其中一方为地主,其余两家为另一方,双方对战,先出完牌的一方获胜。斗地主起源于湖北武汉汉阳一带&#xf…...

BIO NIO AIO IO多路复用的区别

1、基础概念 1.1、阻塞非阻塞和同步异步的结合 下面通过例子来具体说明: 同步阻塞: 小明一直盯着下载进度条,到100%的时候完成。 同步体现在:小明关注下载进度条并等待完成通知。(可以看成同步是我主动关注任务完成的…...

数学建模——降维算法

降维 降维的意义 降低无效、错误数据对建模的影响,提高建模的准确性少量切具有代表性的数据将大幅缩减挖掘所需的时间降低存储数据的成本 需要降维的情况 维度灾难。很难有一个简洁的模型在高维空间中依旧具有鲁棒性,而随着模型复杂度的增加&#xf…...

04_iic子系统

总结 iic_client和iic_driver 加入iic总线的思想和paltform总线的玩法一样 把iic设备和驱动注册到iic总线中 构造出字符设备驱动和设备节点供app进行操作 但是iic硬件设备是挂在iic控制器下面的 所以iic控制器也会有自己的驱动和设备树节点 厂家一般都会帮做好 我们写的iic_dr…...

离散系统的数字PID控制仿真-3

离散PID控制的封装界面如图1所示,在该界面中可设定PID的三个系数、采样时间及控制输入的上下界。仿真结果如图2所示。图1 离散PID控制的封装界面图2 阶跃响应结果仿真图:离散PID控制的比例、积分和微分三项分别由Simulink模块实现。离散PID控制器仿真图&…...

如何好好说话-第12章 理清楚问题就是答案

生活中该不该积极主动与别人展开社交活动?有些时候社交活动并不开心,仅仅只是无聊的闲才。但他确实能拉拢人际关系,帮我们获得近身套路。而且有一种观点认为不善于社交的人是不成功的。注意以上说的这些都是偏见。当我们站在一个更高的维度认…...

ice规则引擎==启动流程和源码分析

启动 git clone代码 创建数据库ice,执行ice server里的sql,修改ice server的配置文件中的数据库信息 启动ice server 和ice test 访问ice server localhost:8121 新增一个app,默认给了个id为1,这个1可以看到在ice test的配置文件中指定…...

进度管理(上)

规划进度管理 定义:规划进度管理是为实施项目进度管理制定计划的过程。 输入: 1、项目管理计划 2、项目章程(包含里程碑,这个和规划进度有直接干系) 3、组织过程资产 4、事业环境因素。 输出:进度管…...

2021 XV6 8:locks

实验有两个任务,都是为了减少锁的竞争从而提高运行效率。Memory allocator一开始我们是有个双向链表用来存储空闲的内存块,如果很多个进程要竞争这一个链表,就会把效率降低很多。所以我们把链表拆成每个CPU一个,在申请内存的时候就…...

JUC面试(十一)——LockSupport

可重入锁 可重入锁又名递归锁 是指在同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提,锁对象得是同一个对象),不会因为之前已经获取过的锁还没释放而阻塞。 Java中ReentrantLock和synchronized都是可重入锁&am…...

Datawhale 202301 设计模式 | 人工智能 现代方法 习题

Exercise 1 绪论 Q:用您自己的话来定义:(a)智能,(b)人工智能,(c)智能体,(d)理性,(e)逻…...

k8s安装dashboard面板

k8s dashboard github地址:https://github.com/kubernetes/dashboard注意:dashboard版本要和k8s版本匹配,具体参考release里的Compatibility:https://github.com/kubernetes/dashboard/releases安装命令wget https://raw.githubus…...

最详细、最仔细、最清晰的几道python习题及答案(建议收藏哦)

名字:阿玥的小东东 学习:python。c 主页:没了 今天阿玥带大家来看看更详细的python的练习题 目录 1. 在python中, list, tuple, dict, set有什么区别, 主要应用在什么样的场景? 2. 静态函数, 类函数, 成员函数、属性函数的区别? 2.1静态…...

逆水寒魔兽老兵服副本攻略及代码分析(英雄武林风云录,后续更新舞阳城、扬州、清明等副本攻略)

文章目录一、武林风云录1)老一:陈斩槐(只有四个机制,dps压力不大,留爆发打影子就行)(1)点名红色扇形区域(2)点名红色长条,注意最后还有一段大劈&a…...

SpringMVC总结

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。SpringMVC是一种web层的mvc框架,用于替代servlet(处理响应请求,获取表单参数,表单验…...

二进制部署kubernetes高可用集群

二进制部署kubernetes高可用集群 一、单节点部署 1、集群节点规划(均是24位掩码) 负载均衡节点Master节点Node节点Harbor私有仓库节点nginx110.4.7.23master110.4.7.11node110.4.7.2110.4.7.200nginx210.4.7.24master210.4.7.12node210.4.7.22 2、基本…...

vue-router查找指定名称路由

router.matcher.match({ name: User }) 不存在时也返回了路由,错误 router.matcher.match({ name: this.userInfo.authority.defaultRouter }) 不存在时返回undefined,存在时返回路由...

JavaScript权威指南(第7版) 笔记 - 第 7 章 数组

能用代码说清楚的,绝不多废话!!!!!! Linux创始人Linus的名言:Talk is cheap,show me the code ! ,博主技术博文会精心给出能说明问题的范例代码!…...

Java入门四步走

1. 简单的入门语法: 1.1 数据类型: 基本数据类型: 整数类型 —— byte、short、int、long, 浮点类型 —— float、double 字符类型 —— char 布尔类型 —— boolean 引用数据类型: 接口(interface)、数…...

【C++类和对象】初始化列表与隐式类型转换

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…...

Android Jetpack学习系列——Room

关于Room: Room是Android Jetpack组件之一,旨在为Android应用程序提供一种简单、强大且易于使用的本地数据库访问解决方案。 关键特性: 1.基于SQLite封装:Room是基于SQLite数据库引擎构建的,提供了面向对象的API来与…...

锂电池寿命预测 | Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 锂电池寿命预测 | Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测 程序设计 完整程序和数据获取方式:私信博主回复Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测。 参考资料 [1] h…...