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

【Java开发岗面试】八股文—计算机网络

声明:

  1. 背景:本人为24届双非硕校招生,已经完整经历了一次秋招,拿到了三个offer。
  2. 本专题旨在分享自己的一些Java开发岗面试经验(主要是校招),包括我自己总结的八股文、算法、项目介绍、HR面和面试技巧等等,如有建议,可以友好指出,感谢,我也会不断完善。
  3. 想了解我个人情况的,可以关注我的B站账号:东瓜Lee
  1. OSI 七层网络模型,你了解吗?具体功能有哪些?

    总共有7层,自上向下为:

    1. 应用层:构建具体的应用和服务,例如HTTP服务、SNMP服务、DNS服务等等
    2. 表示层:主要对接收的数据进行操作,把计算机能够识别的内容转换成人能够识别的内容。
    3. 会话层:在传输层的基础上建立连接和管理会话。
    4. 传输层:定义了传输数据的协议和端口号,主要用于数据的分段、传输和重组,主要协议有TCP和UDP。
      1. TCP传输控制协议:面向连接的可靠协议
      2. UDP用户数据报协议:面向无连接的不可靠协议
    5. 网络层:主要用于对IP地址进行封装和解析(这一层的数据叫作数据包)(工作设备:路由器、防火墙等)
    6. 数据链路层:主要用于对MAC地址进行解析和封装(这一层的数据叫作数据帧)(工作设备:网桥、交换机)
    7. 物理层:主要定义了物理设备标准,它的主要作用是传输比特流(这一层的数据叫作比特)(工作设备:网卡、集线器、中继器)

    OSI七层网络可以把应用层、表示层和会话层 归到一起 作为应用层,也就是五层网络模型


  1. TCP/IP四层模型?

    1. 应用层:负责具体应用层协议的定义,包括:

      1. HTTP超本文传输协议
      2. FTP文件传输协议
      3. SMTP电子邮件传输协议
      4. DNS域名服务解析协议
    2. 传输层:使源端和目的端机器上的对等实体可以基于会话相互通信。

      ​ 在这一层定义了两个端到端的协议TCP 和UDP 。

    3. 网络层:主要用于数据的传输、路由及地址的解析,以保障主机可以把数据发送给任何网络上的目标。数据经过网络传输,发送的顺序和到达的顺序可能发生变化。

      ​ 在网络层使用IP和ARP(地址解析协议)

    4. 网络接口层:定义了主机间网络连通的协议

      ​ 具体包括Echernet 、FDDI 、ATM 等通信协议


  1. 计算机网络分层的优缺点

    优点:

    1. 相互独立,层与层之间要联系可以通过接口。
    2. 层与层之间的依赖较少,一层的改动不会对另一层有很大的影响。
    3. 有利于标准化,有利于各层逻辑复用

    缺点:

    1. 一层出现了问题容易对其他层产生影响
    2. 有时会导致级联的修改:比如对下层做了修改,那上层也相应要修改,比较麻烦,要把控好全局

  1. 说一下TCP的三次握手?

    这是基于传输层的TCP协议来实现客户端和服务端之间建立连接的方式

    1. 客户端发送SYN报文给服务端
    2. 服务端接收到SYN报文后,回应一个SYN和ACK报文
    3. 客户端收到服务端的SYN报文,回应一个ACK报文给服务端,就建立了连接

  1. 为什么要三次握手?两次行不行?四次呢?

    所谓握手也就是客户端和服务端建立连接的通信过程,理论上来说当然是越少次数越好(通信过程要资源的开销),但是想要建立正确的连接(也就是要保证客户端和服务端都确认 自己和对方 的发送和接收功能是正常的),就至少要有三次握手。

    第一次握手:客户端发送网络包,服务端接收。

    ​ 服务端得出结论:客户端的发送能力、服务端的接收能力是正常的。

    第二次握手:服务端发包,客户端接收。

    ​ 客户端得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器 并不能确认客户端的接收能力是否正常。

    第三次握手:客户端发包,服务端接收。

    ​ 服务端得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常, 就可以建立正确的连接了。

    「两次握手」:无法防止历史连接的建立,会造成双方资源的浪费,也无法可靠的同步双方序列号;

    「四次握手」:三次握手就已经理论上最少可靠连接建立,所以不需要使用更多的通信次数。

    TCP第一次握手丢失了,会发生什么?

    ​ 客户端发送给服务端SYN报文后,迟迟得不到服务端的(SYN+ACK)回应,就会触发超时重传 机制,重传5次以后,还是接收不到回应,就不连接了。

    TCP第二次握手丢失了,会发生什么?

    ​ 服务端给客户端发送SYN+ACK报文丢失,那么客户端就会一直等待,会触发重传SYN机制,服 务端也会重传。

    TCP第三次握手丢失了,会发生什么?

    ​ 客户端接收到服务端的SYN+ACK后,会给服务端发送ACK报文,进入连接状态,如果丢失了ACK报文,服务端一直接收不到,就会重传SYN+ACK,让客户端也重传ACK报文。


  1. TCP四次挥手的过程?

    1. 客户端调用断开连接的请求,向服务器端发送一个终止标志位 FIN = 1,seq=u 的消息。

    2. 服务器在收到这个消息后,返回一个 ACK=1,ack=u+ 1 ,seq=v 的消息给客户端,表示接收到客户端断开链路的操作请求。

    3. 服务器端将关闭链路前需要发送给客户端的消息发送给客户端,在等待该数据发送完成后,发送一个终止标志位FIN = 1 ,ACK= 1 ,seq=w,a ck= u+ 1 的消息给客户端(表示关闭链路前服务器需要向客户端发送的消息已经发送完毕,请求客户端确认关闭从服务器到客户端的链路操作。)

    4. 客户端在接收到这个最终的FIN 消息后,发送一个 ACK = l ,seq=u + l ,ack=w+ I 的消息给服务器端,表示接收到服务器端的断开连接请求,并准备断开服务器端到客户端的链路。

      客户端经过等待计时器设置的时间后,客户端将进入CLOSE 状态。


  1. 说一下TCP与UDP的区别?

    1. TCP是传输控制协议,UDP是用户数据报协议
    2. TCP是面向连接的(三次握手、四次挥手),UDP是面向无连接的
    3. TCP是可靠的(使用了接收确认和重传机制,使得发出去的信息都是可达的),UDP是不可靠的(只是将数据发出去,不管能不能接收)
    4. TCP适用于要求可靠数据传输的场景(比如传文件),UDP适用于不需要可靠传输的场景(比如打电话、直播,即使丢包了一些也没关系)
    5. TCP只有一对一的传输方式,UDP可以一对一、一对多、多对多的传输
    6. TCP是面向字节流的,UDP是面向报文

  1. 如果已经建立了TCP连接,但是客户端突然出现故障了怎么办?
    TCP设有一个保活计时器,服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

  1. 拔掉网线后,原有的TCP连接还在吗?

    还存在,因为TCP连接在Linux内核中是一个socket结构体,结构体内容包含了TCP的信息,即使拔掉网线,操作系统也不会更改这个结构体的内容,所以TCP连接还是存在的。


  1. TCP的粘包和拆包?

    TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为)一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。

    为什么会产生粘包和拆包呢?

    1. 要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包;
    2. 要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包;

    粘包和拆包有什么不好的?

    1. 粘包:把多个数据包粘合在一起进行发送,可能会导致接收端无法正确区分每个数据包,导致接收到的数据出现混乱。
    2. 拆包:把一个大的数据包拆成多个小数据包,可能会导致接收端收到的数据不完整。

    如何解决粘包和拆包呢?

    1. 在发送端 将每个数据包封装为固定长度,接收端按照固定长度来对数据进行解析
    2. 在数据包中 增加特殊字符或者特殊标记,表示一个数据包的开始和结尾

  1. TCP的流量控制?

    简单来说,就是让发送方的发生速率不要太快,防止接收方来不及接收 而出现数据的丢包。

    经过TCP的三次握手后,发送端和接收端就能进行数据传输了,但是发送端不能疯狂地向接收端发送数据,因为接收端接收不过来的话,接收方只能把处理不过来的数据存在缓存区里。如果缓存区都满了,发送方还在疯狂发送数据的话,接收方只能把收到的数据包丢掉,这就浪费了网络资源。

    TCP是通过滑动窗口来进行流量控制的,也就是一个动态变化的窗口。


  1. TCP的拥塞控制?

    由于IP网络自身出现了拥堵,那么发送方的发生速率就要被控制,这就是拥塞控制,目的就是避免 发送方的数据 填满整个网络,使得网络更加拥堵,而出现数据的丢包。

    发生方是能感知到网络出现了拥塞的,比如说发送方没有在规定时间内接收到响应报文,也就是发生了超时,就会认为网络出现了拥塞。

    为了对发送方的发送速率进行限制,定义了一个叫做拥塞窗口的概念,拥塞窗口 cwnd 是发送方维护的一个的状态变量,它会根据网络的拥塞程度动态的变化

    拥塞控制算法

    1. 慢启动
    2. 拥塞避免
    3. 快重传
    4. 快恢复

  1. 如何在 Linux 系统中查看 TCP 的连接状态?
    在 Linux 可以通过 netstat -napt 命令查看。

  1. TCP 和 UDP 分别对应的常见应用层协议有哪些?

    基于TCP的应用层协议有:HTTP、FTP、SMTP、SSH(安全外壳协议)、TELNET(网络电传)

    基于UDP的应用层协议:DNS、TFTP(简单文件传输协议)


  1. IP地址有哪些分类?

    IP地址=网络号+主机号

    1. 网络号:标志主机所连接的网络地址属于互联网的哪一个网络
    2. 主机号:标志主机地址其属于该网络中的哪一台主机

    IP地址分为A,B,C,D,E五大类:

    • A类地址(1~126):以0开头,网络号占前8位,主机号占后面24位。
    • B类地址(128~191):以10开头,网络号占前16位,主机号占后面16位。
    • C类地址(192~223):以110开头,网络号占前24位,主机号占后面8位。
    • D类地址(224~239):以1110开头,保留位多播地址。
    • E类地址(240~255):以11110开头,保留位为将来使用。

  1. 说下ARP 协议的工作过程?

    ARP 地址解析协议,它是用于实现IP地址到MAC地址的映射

    源主机和目的主机进行通信时:

    1. 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己的ARP列表,是否存在目的IP地址对应的目的MAC地址:

      1. 如果有,源主机就直接将数据包发送到这个MAC地址对应的目的主机

      2. 如果没有,就向本地网段发起一个 ARP请求的广播包,来查询目的主机对应的MAC地址(ARP请求的数据包里,包括源主机的IP地址、MAC地址、目的主机的IP地址)

        网络中所有的主机收到这个ARP请求包后,会检查其中的目的IP地址是否和自己的IP地址一致:

        1. 如果不相同,就会忽略此数据包;
        2. 如果相同,该主机首先将源主机的IP地址和MAC地址添加到自己的ARP列表中,然后给源主机发送一个 ARP响应数据包,告诉对方 自己就是它需要的MAC地址,源主机收到这个ARP响应数据包后,将目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
        3. 如果源主机一直没有收到ARP响应数据包,表示ARP查询失败,就不能进行通信。

  1. HTTP的原理?

    1. HTTP 遵循请求/响应模型:客户端向服务器发送请求,服务器处理请求 并响应给客户端。

    2. HTTP 是一个无状态的协议:无状态是指客户端和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应后,连接就被关闭了,在服务器端不会保留连接的有关信息。

      (比如同一个客户端向服务端发送两次请求,服务端并不知道这两次请求是来自同一个客户端发出的)


  1. 在浏览器地址栏输入一个URL 到显示主页的过程是什么?

    1. 浏览器 根据URL 通过域名解析器DNS 查找对应到的IP地址
    2. 浏览器与服务器 通过三次握手 建立TCP连接
    3. 浏览器向服务器 发送一个HTTP请求
    4. 服务器处理请求、生成响应,再将响应返回给浏览器
    5. 浏览器收到响应后进行解析 并渲染页面
    6. 浏览器与服务器 通过四次挥手 结束TCP连接

  1. 说下HTTP/1.0,1.1,2.0的区别?

    1. HTTP/1.0:默认使用短连接,每次请求都需要建立一个TCP连接。

    2. HTTP/1.1:默认使用长连接,TCP连接默认不会关闭,可以被多个请求复用。

      而且还引入了管道机制,在同一个TCP连接里面,客户端可以同时发送多个请求,这样就进一步改进了HTTP协议的效率。

    3. HTTP/2.0:引入了多路复用:在一个连接里,客户端和服务端都可以同时发送多个请求或响应


  1. HTTP 如何实现长连接?在什么时候会超时?

    ​ HTTP/1.0协议默认是短连接,设置长连接可以在头部设置Connection字段指定为keep-alive,从HTTP/1.1以后,连接默认都是长连接。


  1. 说说HTTP常用的状态码及其含义?

    • 1xx - 信息性状态码:比如服务器正在处理客户端的请求。
    • 2xx - 成功类状态码:请求已经完成,服务器向客户端提供了响应。
    • 3xx –重定向状态码:服务器收到了请求,但是请求被重定向到了其他地方。
    • 4xx – 客户端错误状态码:客户端发生错误,比如404页面找不到错误
    • 5xx – 服务端错误状态码:客户端没错误,但是服务器出现了错误。

  1. HTTP 常用的请求方式

    HTTP协议一共有9种请求方式:GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH、TRACE、CONNECT

    熟悉的四种请求方式就是:GET、POST、PUT、DELETE,使用restful开发也就是用这四种请求方式

    @PostMapping:添加操作(对象在请求体)
    @DeleteMapping("/{id}"):根据id删除
    @PutMapping:修改操作(对象在请求体)
    @GetMapping:查询所有
    @GetMapping("/{id}"):通过id查询
    
    1. GET:是最常见也是最简单的http请求,它主要用作于获取资源。也就是说我客户端请求什么,你服务器就原样给我返回什么,可以携带参数,参数直接放在url地址栏。
    2. POST:主要用来传输实体,比如客户端需要向服务器传输一些东西的时候呢,这个时候就可以用POST方法了。也可以用GET,但是没这么安全(信息直接暴露了)
    3. PUT:主要用来传输文件,但是由于Http/1.1的PUT方法不带验证机制,存在安全性问题,所以一般的网站都不用这个方法来进行文件传输。
    4. DELETE:主要是用来删除某个资源,是和PUT完全相反的方法,同时该方法也不带认证机制,所以一般网站并不会对它进行开放使用。

  1. GET和POST有什么区别?

    1. GET的本质是从服务器上获得数据,POST本质是向服务器传递数据
    2. GET传递的参数在url可见,不安全,POST传递的参数在url上不可见,相对安全
    3. GET请求是可以缓存的,POST请求不可以缓存

  1. 请求转发和重定向有什么区别?

    请求转发:request.getRequestDispatcher(URL地址).forward(request, response)

    重定向:response.sendRedirect(URL地址)

    区别

    1. 请求转发是一次请求,重定向是两次请求(请求转发的速度更快)
    2. 请求转发之后地址栏上的地址不会变化,重定向的地址栏会发生变化
    3. 请求转发是服务器的行为,重定向是需要客户端参与的行为
    4. 请求转发的网址只可以是本站点的网址,重定向时可以是任何网址

  1. Cookie和Session是什么?有什么区别?

    Cookie是客户端会话技术、Session是服务端会话跟踪技术

    都是用来完成 一次会话内多次请求间的 数据共享

    区别

    1. 存储位置:Cookie 是将数据存储在客户端,Session 将数据存储在服务端
    2. 安全性: Cookie 不安全,Session 安全
    3. 数据大小: Cookie 最大3KB,Session 无大小限制
    4. 存储时间: Cookie 可以长期存储,Session 默认30分钟
    5. 服务器性能: Cookie 不占服务器资源,Session 占用服务器资源
    6. Session其实是基于Cookie实现的。

  1. 什么是HTTPS?

    HTTPS = HTTP+SSL

    HTTP 被用于在浏览器和服务器之间传递信息,但是是以明文的方式发送信息,不提供数据加密,所以容易被截取而直接读取到信息,因此 HTTP 不适合传输一些敏感信息。

    为了保证数据传输的安全, HTTPS 在HTTP 的基础上加入了 SSL 协议,SSL 依靠证书来验证服务器的身份,并对浏览器和服务器之间的通信进行了数据加密,以保障数据传输的安全性。

  2. HTTPS的工作原理是什么?

    1. 客户端发起HTTPS请求:输入一个https的网址,然后连接到服务器的443端口。
    2. 服务端返回证书:服务器在收到消息后 响应客户端并返回证书,证书中包含服务器信息、域名、申请证书的公司、公钥、数据加密算法等。
    3. 客户端验证证书:客户端在收到证书后,判断证书的签发机构是否正确,并使用该签发机构的公钥确认签名是否有效, 客户端还会确保在证书中列出的域名就是它正在连接的域名。如果客户端确认证书有效,则生成对称密钥,并使用公钥将对称密钥加密
    4. 客户端和服务端的密钥交换:客户端将 使用公钥加密后的对称密钥 发送给服务器,服务器在接收到对称密钥后使用私钥解密
    5. 进行安全的数据传输:经过上述步骤,客户端和服务器就完成了密钥对的交换,在之后的数据传输过程中,客户端和服务端就可以基于对称加密。数据加密之后在网络上传输,就保证了数据传输的安全性。

  1. HTTPS的加密流程是怎样的?【待学习】

  1. HTTP 与 HTTPS 的区别?

    1. http是超文本传输协议,信息是以明文传输的;https是具有安全性的加密传输协议,引入了SSL,具有了身份验证和数据加密的效果。
    2. http的默认端口为80;https的默认端口为443。

  1. URI和URL的区别?

    URI,全称是Uniform Resource Identifier),统一资源标志符,主要作用是唯一标识到一个资源。

    URL,全称是Uniform Resource Location),统一资源定位符,主要作用是提供资源的路径

    URI像是身份证,可以唯一标识一个人,而URL更像一个住址,可以通过URL找到这个人。


  1. RPC是什么?是一种协议吗?
    RPC(远程过程调用)是一个通用的概念,而不是一个具体的协议。RPC是一种编程模型,允许一个程序调用另一个地址空间中的子函数,通常是在远程系统上,使得调用远程函数像调用本地函数一样。

    实现RPC涉及使用一个或多个协议来完成过程或方法的远程调用。已经开发了几种协议用于实现RPC,每个协议都定义了一组特定的规则和约定,用于执行远程过程调用,但它们都共享相同的基本思想,即使得远程调用看起来像本地调用一样。

    总之,RPC是一种用于进行远程过程调用的编程模型,已经开发了各种协议来实现它。


  1. RPC和HTTP有什么区别和联系?

    RPC是远程过程调用,它的核心目标就是为了让开发人员在调用远程方法的时候 就像调用本地方法一样方便,而且RPC也不是一个协议,它就是一个通信协议的规范

    而HTTP是超文本传输协议,它是浏览器和服务器之间进行数据传输的的通信协议,两者都不是一个类型的,无法比较

    非要说的话就是:

    1. RPC可以基于TCP,也可以基于HTTP

  1. 常见的限流算法

    (比如电商系统有秒杀业务,秒杀的请求量太大了,要做限流)

    1. 固定窗口
    2. 滑动窗口
    3. 漏桶算法
    4. 令牌桶算法

【后续继续补充,敬请期待】

相关文章:

【Java开发岗面试】八股文—计算机网络

声明: 背景:本人为24届双非硕校招生,已经完整经历了一次秋招,拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验(主要是校招),包括我自己总结的八股文、算法、项目介绍、HR面和面试…...

【PythonRS】基于矢量范围批量下载遥感瓦片高清数据(天地图、高德、谷歌等)

这个是之前写的代码了,正好今天有空所以就和大家分享一下。我们在处理项目时,有时候需要高清底图作为辅助数据源去对比数据,所以可能会需要卫星数据。所以今天就和大家分享一下如何使用Python基于矢量范围批量下载高清遥感瓦片数据。 1 读取矢…...

穷举vs暴搜vs深搜vs回溯vs剪枝

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻全排列👉&#…...

Sensor Demosaic IP 手册PG286笔记

《 UG1449 Multimedia User Guide》中包含了大量的多媒体IP简介。 本IP 用于对bayer RGB(每个pixel只有单个R/G/B)做去马赛克处理,恢复成每个pixel点都有完整的RGB值。通过axi接口配置IP内部erg。 1、算法手册中的描述 提到了几种插值算法&…...

HarmonyOS —— UIAbility 页面跳转总结

HarmonyOS —— UIAbility 页面跳转总结 Author:Gorit Date:2023年12月27日 一、系统环境 HarmonOS API9SDK 3.1.0Stage 模型 二、应用内跳转 在应用内之前实现不同 page 的跳转,我们使用 router 即可,页面跳转主要支持如下…...

Spring Boot 3 集成 Jasypt详解

随着信息安全的日益受到重视,加密敏感数据在应用程序中变得越来越重要。Jasypt(Java Simplified Encryption)作为一个简化Java应用程序中数据加密的工具,为开发者提供了一种便捷而灵活的加密解决方案。本文将深入解析Jasypt的工作…...

Spring Boot整合 EasyExcel 实现复杂 Excel 表格的导入与导出功能

文章目录 1. 简介2. 引入依赖3. 导入功能实现3.1 创建实体类3.2 编写导入 Controller3.3 编写导入页面 4. 导出功能实现4.1 编写导出 Controller4.2 编写导出页面 5. 启动应用 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 &…...

SQLSERVER排查CPU占用高

操作系统是Windows2008R2 ,数据库是SQL2008R2 64位 64G内存,16核CPU 硬件配置还是比较高的,他说服务器运行的是金蝶K3软件,数据库实例里有多个数据库 现象 他说是这几天才出现的,而且在每天的某一个时间段才会出现CPU占用高的情况 内存占用不太高,只占用了30个G CPU…...

uniapp:富文本回显

一、使用uniapp官方的标签 rich-text&#xff1a; 会出现图片无法显示的问题&#xff0c;可以用以下方法来过滤处理 <rich-text :nodes"question.title | formatRichHtml"></rich-text> formatRichHtml(html) {if (!html) {return html;}//控制小程序…...

flink内存配置

flink内存配置 配置 TaskManager 内存 | Apache Flink...

easyexcel 导出

在使用EasyExcel库进行数据写入时&#xff0c;通常我们会使用实体类来存储数据。但是当遇到动态查询&#xff0c;无法确定属性数量和名称时&#xff0c;就需要使用Map来接收数据。然而&#xff0c;直接将Map中的数据写入Excel表格并不是一件简单的事情。接下来&#xff0c;我将…...

maven命令行安装依赖测试

mvn dependency:get -DgroupIdorg.springframework -DartifactIdspring-core -Dversion5.3.9作用&#xff1a;可用于测试配置环境变量后&#xff0c;能否下载依赖到本地仓库...

Redis 笔记

文章目录 安装 & 启动杂乱String字符串 key-valueList 有序重复列表Set 无序不重复列表SortedSet 有序集合Hash 哈希Stream 轻量级消息队列订阅模式 学习地址&#xff1a;https://www.bilibili.com/video/BV1Jj411D7oG/ 安装 & 启动 安装包地址&#xff1a; https://g…...

可穿戴智能设备应用领域以及使用意义分别有哪些?

可穿戴智能设备有哪些&#xff1f; 可穿戴智能设备是指可以佩戴在身上&#xff0c;具有智能功能和交互能力的电子设备。以下是一些常见的可穿戴智能设备&#xff1a; 智能手表&#xff1a;智能手表结合了传统手表的功能和智能设备的特性&#xff0c;可以显示时间、接收通知、监…...

【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;诗赋清音&#xff1a;柳垂轻絮拂人衣&#xff0c;心随风舞梦飞。 山川湖海皆可涉&#xff0c;勇者征途逐星辉。 目录 &#x1fa90;1 初识Linux OS &…...

机器学习——主成分分析(PCA)

主成分分析&#xff08;Principal Component Analysis&#xff0c;简称PCA&#xff09;是一种常用的无监督学习算法&#xff0c;用于降维和数据可视化。主要目标是将高维数据转换成低维空间&#xff0c;同时尽可能保留原始数据的信息。 PCA的主要思想是通过线性变换将原始数据…...

论最近热门的AI绘画技术—从小白绘画到文创手账设计【文末送书-13】

文章目录 &#x1f3c0;前言⚽AI绘图技术栈⚾️简单的代码实现案例&#x1f3c8;iPad萌系简笔画&#xff1a;从小白绘画到文创手账设计【文末送书-13】⛳粉丝福利&#xff1a;文末推荐与福利免费包邮送书&#xff01; &#x1f3c0;前言 AI绘画技术&#xff0c;也称为人工智能…...

python打开文件的方式比较

open(addr,w) 打开之后文件无论以前有什么&#xff0c;打开后都要清空 /// open(addr,r) 文件打开后&#xff0c;不删除以前内容...

使用Jenkins和单个模板部署多个Kubernetes组件

前言 在持续集成和部署中&#xff0c;我们通常需要部署多个实例或组件到Kubernetes集群中。通过Jenkins的管道脚本&#xff0c;我们可以自动化这个过程。在本文中&#xff0c;我将演示如何使用Jenkins Pipeline及单个YAML模板文件&#xff08;.tpl&#xff09;来部署多个类似的…...

Unity Meta Quest 一体机开发(十二):【手势追踪】Poke 交互 - 用手指点击由 3D 物体制作的 UI 按钮

文章目录 &#x1f4d5;教程说明&#x1f4d5;给玩家配置 HandPokeInteractor&#x1f4d5;用 3D 物体制作可以被点击的 UI 按钮⭐搭建物体层级⭐给物体添加脚本⭐为脚本变量赋值 &#x1f4d5;模仿官方样例按钮的样式&#x1f4d5;在按钮上添加文字&#x1f4d5;修改按钮图片 …...

Vue 3 中安装并使用 Axios 详细步骤+样例代码详解

axios详细步骤 在集成终端打开&#xff0c;使用 npm 或 yarn 安装 Axios&#xff1a; npm install axios或 yarn add axios这将在您的项目中安装 Axios。 在您的 Vue 3 项目中创建一个用于发送 HTTP 请求的模块或文件&#xff0c;比如 http.js。 在 http.js 文件中导入 Axios…...

IDEA 控制台中文出现乱码问题解决

一、问题概述 请看下图 二、问题分析 IDEA控制台输出乱码一般会有三种来源&#xff1a; ① IDEA本身编码错误 ② Tomcat日志输出编码错误 ③ 项目本身原因。 终极原因&#xff1a;IDEA编码和Tomcat编码不一致&#xff0c;统一设置为UTF-8即可。 三、解决思路 修改…...

计算机网络(1)

计算机网络&#xff08;1&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 计算机网络和因特网&#xff08;1&#xff09;因特网概念解读服务常见的服务 协议网络边缘特点强调 网络核心特点强调 小程一言 我的计算机网络专栏&#xff0c;是自己在计算机网络…...

如果我想用python自动操作手机、电脑软件,应该学python哪方面的知识呢?

Python 作为一门万能语言&#xff0c;在各方面的表现都非常好 如果我们想使用 Python 来操作手机和电脑&#xff0c;那么需要学习掌握如下几个方面的知识 1. 基本的Python编程 显而易见&#xff0c;你需要学习Python的基本语法、数据类型、控制流和函数等基本概念。这是后面…...

关于java命令行传参

关于java命令行传参 本篇文章拓展以下java中的命令行传参&#x1f60e; 有时候你希望运行一个程序的时候再传递给它消息&#xff0c;这要靠传递命令行参数给main()方法来实现。首先我们先来创建一个数组遍历。 public class Demo {public static void main(String[] args){/…...

[LeetCode][Python]389. 找不同

简单 给定两个字符串 s 和 t &#xff0c;它们只包含小写字母。 字符串 t 由字符串 s 随机重排&#xff0c;然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1&#xff1a; 输入&#xff1a;s "abcd", t "abcde" 输出&#xff1a;"…...

鸿蒙崛起:互联网大厂加速鸿蒙原生应用开发,人才争夺战打响

随着华为鸿蒙系统的发布和不断推进&#xff0c;一场以鸿蒙为中心的生态竞争已经拉开帷幕。近日&#xff0c;网易、美团等多家互联网公司发布了与鸿蒙系统有关的岗位招聘&#xff0c;加速推进鸿蒙原生应用开发转型。这种趋势表明&#xff0c;鸿蒙系统已经引起了行业的广泛关注&a…...

OR-NeRF论文笔记

OR-NeRF论文笔记 文章目录 OR-NeRF论文笔记论文概述Abstract1 Introduction2 Related Work3 Background4 Method4.1 Multiview Segmentation4.2 Scene Object Removal 5 ExperimentsDatasetsMetricsMultiview SegmentationScene Object Removal 6 Conclusion 论文概述 目的&am…...

【web】vue 播放后端(flask)发送的 mp3 文件

文章目录 演示后端&#xff08;flask&#xff09;前端&#xff08;vue3&#xff09;重要说明 演示 后端&#xff08;flask&#xff09; 后端返回的是 mp3 文件的 url&#xff0c;是可以直接在浏览器上打开后播放的处理跨域请求pip install flask-cors后端代码from flask impor…...

vmware安装openEuler 22.03 LTS操作系统

vmware安装openEuler 22.03 LTS操作系统 1、下载openEuler操作系统镜像文件2、安装openEuler操作系统3、配置openEuler操作系统3.1、配置静态IP地址 和 dns3.2、查看磁盘分区3.3、查看系统版本 1、下载openEuler操作系统镜像文件 官网下载链接 链接: https://www.openeuler.or…...

做电子商务系统网站建设/广州排前三的seo公司

将 C 或 C 源代码编译成可执行文件分成两步&#xff1a;第一步是将每个源代码文件分别编译成可重定位文件(relocatable&#xff0c;扩展名为 .o)&#xff0c;第二步是将所有的可重定位文件链接成可执行文件。在 Linux 中&#xff0c;可重定位文件和可执行文件的格式都是 ELF(Ex…...

软件公司网站模板图片/百度关键词排名推广话术

华为畅享20 plus终于正式发布了&#xff01;那么在畅享20 plus的小功能配件表现怎么样呢&#xff1f;比如说大家非常关心的nfc和红外功能。那么华为畅享20 plus有nfc吗?华为畅享20 plus支持红外功能吗?小编告诉你答案&#xff01;华为畅享20 plus有nfc吗?华为畅享20 plus没有…...

包头 网站制作/产品推广宣传方案

题目&#xff1a; Design a HashSet without using any built-in hash table libraries. 在不使用任何内置哈希表库的情况下设计HashSet。 To be specific, your design should include these functions: 具体而言&#xff0c;您的设计应包括以下功能&#xff1a; add(value): …...

北京 房地产 网站建设/sem推广竞价

jdk7及以前&#xff1a; 通过-XX:PermSize 来设置永久代初始分配空间&#xff0c;默认值是20.75m -XX:MaxPermSize来设定永久代最大可分配空间&#xff0c;32位是64m&#xff0c;64位是82m jdk8及之后&#xff1a; 通过-XX:MetaspaceSize 来设置永久代初始分配空间&#xff…...

哪里有做直销网站的/福州seo优化排名推广

A、MySQL 备份工具xtrabackup 的安装1. percona 官方xtrabackup 的二进制版本&#xff1b;二进制版本解压就能用了。2. 解压xtrabackup &创建连接tar -xzvf percona-xtrabackup-2.3.4-Linux-x86_64.tar.gz -C /usr/local/ln -s /usr/local/percona-xtrabackup-2.3.4 /usr/l…...

网站模板可以自己做吗/seo工作内容

-- 唯一约束:unique -- 指定字段为唯一约束的时候。它的值不能重复。一张表中可以有多个唯一约束 -- 将student表中的tel和ID设置为唯一约束 DROP TABLE student; CREATE TABLE student( sid INT PRIMARY KEY AUTO_INCREMENT, sname CHAR(10), tel CHAR(11) UNIQUE, ID CHAR…...