验证性实验

article/2025/9/16 22:50:24

验证性实验

一、ipconfig

ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。

实作一:

使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway

cmder中输入ipconfig/all,可以看到所有的网络配置信息,例如:

  • IP地址:

  • 子网掩码:子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

  • 网关:网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。

  • 物理地址:网卡物理地址存储器中存储单元对应实际地址称物理地址,与逻辑地址相对应。网卡的物理地址通常是由网卡生产厂家写入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。

  • DHCP:DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

  • IPv6:IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址

  • IPv4:网际协议版本4(英语:Internet Protocol version 4,IPv4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。

  • DNS:域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。


实作二:

使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。

旁边计算机:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyyC1XbY-1671596256048)(null)]

同:子网掩码是相同的。

异:IP地址不同。

你的计算机和旁边的计算机是否处于同一子网,为什么?

答:处于同一子网,因为将子网掩码与IP地址进行And运算后,网络号相等,说明处于同一子网。

二、ping

ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

实作一

要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。

返回了4个具有32字节的数据,TTL为58,而TTL一般设为比该值的大的最小2^n,在本例中为64,说明中途经过了64-58=6个路由器,数据包往返行程时间最短3ms,最长3ms,平均3ms。(TTL的作用是每次经过一个网段TTL就减一如果达到目标之前,该值减少至0,路由器将会丢弃,避免广播风暴)

实作二

使用 ping/? 命令了解该命令的各种选项并实际使用。

在这里插入图片描述

ping命令的各种选项使用:

① ping -a srcAddr:将地址解析为主机名。

② ping -n count srcAddr:要发送的回显请求数。

③ ping -S srcAddr:ping时要使用的源地址。

④ ping -t srcAddr:Ping 指定的主机,手动停止。(linux 默认的方法)

⑤ ping -l size srcAddr:发送缓冲区大小。

TroubleShooting

假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?

  1. 可能设置了防火墙,把网络设置成专用不是公共状态。
  2. 如果是内部网ping外部网,没有权限
  3. 本机网络软件硬件工作异常
  4. 本机网络出口到交换机之间或者本机网卡到交换机的连线损坏
  5. 网关出现问题

保证ping联通方法:由近及远测试连通性。首先可以测试自己网卡ping自己看看数据是否传输成功,首先验证自身电脑问题。之后在ping内部子网,之后再是网关,看是否成功,然后逐一测试连通性。

TroubleShooting

假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?

另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的。

原因:

pingip 则代表链路是通的,但是ping不通域名可能说明是域名解析DNS出现了问题,也可能说明本地dns缓存被人恶意修改。可以通过nslook www.baidu.com来查看

解决方法:
可以将DNS 配置成固定的,可以是googleDNS 8.8.8.8 或者电信的 101.226.4.6或者114.114.114.114大部分是可以的 如果还是ping不通 则可联系给域名服务的服务商,他们会给出dns服务器。也可以先清理下dns缓存ipconfig/flushdns

课外浏览

最简单的基于IP的攻击可能要数著名的死亡之ping,这种攻击主要是由于单个包的长度超过了IP协议规范所规定的包长度。产生这样的包很容易,事实上,许多操作系统都提供了称为ping的网络工具。在为Windows操作系统中开一个DOS窗口,输入ping -l 65500 目标ip -t (65500 表示数据长度上限,-t 表示不停地ping目标地址)就可达到该目的。UNIX系统也有类似情况。
通俗来说,就是对方IP内存溢出,达到使对方系统崩溃的效果
这个问题出现在早期的Windows内,不过在接近Windows Me的时候已经见不到了。不仅已经ping不到65500以上,各大网站限制数据包传入大小来防止有人用多台电脑同时ping一个ip导致瘫痪,一般大型网站把数据包压到3000以下;而服务器或者dns一般把数据包压到10000以下来防止这个问题,超过数值会提示连接超时。

三、tracert

提示:Trace Route 路由追踪。该命令行可用于跟踪数据包传送到目标地址时经过的路径。

Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP(Internet Control Message Protocol) 错误消息来确定从一个主机到网络上其他主机的路由。
工作原理:

通过向目标发送不同 TTL值的回应数据包,路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。若数据包上的 TTL 减为 0 时,路由器将“ICMP 已超时”的消息发回源系统。
具体过程

Tracert 先发送 TTL 为 1 的回应数据包,随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。

实作一

要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用tracert www.baidu.com命令,查看反馈的信息,了解节点的个数。

tracert请求超时原因
1、那一跳禁PING
2、那一跳不对TTL超时做响应处理,直接丢弃

可通过网站http://ip.cn查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。

实作二

ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
在这里插入图片描述

问题一

tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。

原理:
向不同ip发送具有TTL值生命周期的数据包(ICMP),在路径上每一次路由器转发数据包都要把TTL减小一个,当TTL减为零的时候,路由器发送一个已超时的信息返回发出地址源头,或者在路途中找到了目的地址也会返回信息。

问题二

在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?

回答:

因为在相同的子网下,想要进入互联网都需要进入相同的网关,并且以上两个实作都是在校园网完成的,经历的节点或许会更多。

问题三

在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?

回答:

从指定源地址(该处默认为主机)追踪到目的IP地址的路径时,主机发送不同TTL的ICMP数据包,在传播过程中,如果当前获取到数据包的路由器解析地址不属于本地地址,则将TTL减一后继续路由。当TTL为零时,则向源地址发送ICMP已超时,此时就可以获取该中间节点路由器的IP地址。但有的路由器在TTL为零时,不发送ICMP超时消息,直接将它们丢弃,故主机无法获得该TTL值对应的路由器IP地址,用 * 表示。tracert命令主机设置了超时时间,等待一段时间后,若无法接受到ICMP超时消息,则将TTL加一,重新发送。该举措主要原因是这个路由器节点禁止ping 和 tracert 操作,提高自身的安全性和隐蔽性。

总结来说就是:

1、那一跳禁PING
2、那一跳不对TTL超时做响应处理,直接丢弃

四、ARP

✍ ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。

ARP的工作流程

在同一个局域网内,PC1想向PC2发送数据,数据包含PC1的IP地址、MAC地址和PC2的IP地址,此时还需要PC2的MAC地址。首先,PC1广播请求包,其他终端接收到后,检查目的IP地址,与本机不相同则丢弃。当PC2接收到该请求包后,将PC1的IP和MAC映射信息存储在本地的ARP缓存表,再向PC1点到点传播回应包。PC1接收到回应包后,将PC2的IP和MAC映射信息存储在本地。过程形象化表示为:PC1先自我介绍,然后才是询问。

实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。

然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。

实作二

请使用 arp /? 命令了解该命令的各种选项。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ER9R5vhn-1671596255784)(null)]

实作三

一般而言,arp 缓存里常常会有网关的缓存,并且是动态类型的。

假设当前网关的 IP 地址是 192.168.0.1,MAC 地址是 5c-d9-98-f1-89-64,请使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令设置其为静态类型的。

运行失败

以管理员身份运行后

🗣 TroubleShooting

你可能会在实作三的操作中得到 “ARP 项添加失败: 请求的操作需要提升” 这样的信息,表示命令没能执行成功,你该如何解决?

进入管理员模式,提高权限后再运行

问题

在实作三中,为何缓存中常常有网关的信息?

因为缓存本身记录着你有访问过的pc 网卡MAC物理地址,方便下次使用。

我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?

优点:便于管理,特别是在根据IP地址限制网络流量的局域网中,以固定的IP地址或IP地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程,同时也避免了用户经常忘记密码的尴尬,同时将 IP-MAC 绑定可以有效的防治 ARP 欺骗。

弱点:不利于维护 arp 列表,维护起来麻烦,倘若有人冒充其中一个 IP ,对用户的安全会造成极大的隐患,对网络的正常使用造成影响。

五、DHCP

✍ DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:

  • 用于内部网或网络服务供应商自动分配 IP 地址给用户
  • 用于内部网管理员对所有电脑作中央管理

简单的说,DHCP 可以让计算机自动获取/释放网络配置。

实作一

一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。

在这里插入图片描述

在这里插入图片描述

原理:

动态态主机设置协定(DHCP)是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。
DHCP使用了租约的概念,或称为计算机IP地址的有效期。租用时间是不定的,主要取决于用户在某地联接Internet需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。通过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。
工作流程:

DHCP的工作过程大概可分为四步:

1.客户端发广播寻找DHCP服务器

2.DHCP服务器单播回复客户端Offer

3.客户端广播请求这个ip,发广播一方面是为了请求这个地址,另一个方面也是告诉其他的dhcp服务器自己有地址用了

4.服务器发送ACK包

经过以上四个步骤之后客户端就获得了IP地址等信息,客户端在获得IP地址之后发送GARP检测IP地址有没有冲突

举个例子来说:

在这里插入图片描述

以上图为例子:

1.主机a是刚刚接入网络中的一台主机,在主机a接入之后,就会广播发送Discover包,寻找网络中的DHCP服务器

2.当dhcp服务器收到a的discover包之后,会单播回复给a一个offer包,里面包含着一个ip地址和一些配置信息比如,网关,租期,dns等

3.当主机a收到这个offer包之后确认要使用,就广播发送request请求这个IP地址,发广播的原因可能网络中还有其他的DHCP服务器,告诉他们自己有了IP地址

4.当dhcp服务器收到a的request之后单播发送一个ACK,a收到ack之后就开始使用这个IP地址

以上就是DHCP的工作过程,我们看到从主机寻找到获取地址一共只用到了四种数据包,那么其他两种数据包是在那种情况下被用到的呢?这就扯到了DHCP协议的一个小细节,叫做租期。

🗣 TroubleShooting

如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?

修复Winsock和重置IP设置。
第一步:开始-运行,输入cmd,打开命令行窗口。
第二步:在命令行窗口输入命令:netsh winsock reset,然后回车,会提示需要重启,不要管它。
第三步:在命令行窗口输入命令:netsh int ip reset rest.log,然后回车,提示重新启动计算机完成此操作。
第四步:重新启动计算机,重新设置电脑IP地址,问题解决。

问题

在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?

局域网内的电脑就可以通过这个IP来相互通讯,也防止ip冲突,同时这样的地址是为了告诉主机,IP 地址池里面没有多余的 IP ,或者 DHCP 中继代理失效。采用这种方案的意义是为了让不能够正常或许 IP 的主机之间进行通信,一种紧急处理的方案。

问题

经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗?

1.稳定性更佳,静态IP可以更稳定,可以作为自己的网站和服务器地址。

2.便于管理,静态IP能通过IP地址远程访问对应的电脑。手动设置IP,可以保证IP使用的持久性。

3.缩短电脑的启动时间。

六、netstat

✍ 无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。

netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

实作一

Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。

在这里插入图片描述

实作二

使用 netstat -an 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 45

在这里插入图片描述

netstat 命令相关选项:

在这里插入图片描述

七、DNS

✍ DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。

实作一

Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。

在这里插入图片描述

实作二

解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。

在这里插入图片描述

实作三

使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare1.1.1.1)或 Google8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8,当然,由于你懂的原因,这不一定会得到正确的答案。

🗣 TroubleShooting

上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?

hosts文件屏蔽广告方式原理:在文件中添加该广告链接,并且指定一个ip地址(通常为本机地址),因为hosts文件优先级是高于DNS服务器,这样浏览器解析该广告链接时,优先hosts文件,这样我们就相当于更改了该链接本来的ip地址,从而使该链接失效。当然,这些只是一般情况,如果这样的方式无法屏蔽广告,一种可能是广告内容是嵌入到网页中的。

八、cache

✍ cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。

浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

实作一

打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。

在这里插入图片描述

除了qige.io,rockte-loader.min.js,jquery.js,favicon.png,quotes.txt以外都被cache了。

实作二

接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。

在这里插入图片描述

禁用cache后,网页加载速度明显变慢。可知cache的作用就是加快速度,已经加载过的可以不重复加载,这就是进入同一个页面速度更快的原因。

📬 秘籍

你的计算机可能还在使用 XX 管家,XX 卫士之类的垃圾软件,那么它可能就会在某些时候提示你计算机的垃圾文件有多少多少,请清理(其实是它本身应该被清理!)之类的弹窗。如果你查看一下它判断的所谓垃圾文件,你会发现大多都是浏览器的缓存,而你已经明白了这些缓存文件的作用。所以,清理吗?

九、总结

这些实验可以帮助我们更好地理解计算机网络的工作原理,并培养我们解决实际问题的能力,掌握了ipconfig,ping,tracert等指令的使用,也明白了cache,dns等的作用原理。


http://chatgpt.dhexx.cn/article/8P5ZLaQE.shtml

相关文章

windows网络命令:ping、ipconfig、tracert、netstat、arp

ping www.baidu.com,从命令执行开始,到结果返回总共需要经过以下几步: 1、DNS解析:www.baidu.com解析成具体的IP地址,因为数据包在网络上传输时只认IP地址。 2、查找路由表:IP地址以后,接下来…

js ftp 上传文件到服务器上,js ftp上传文件到服务器上

js ftp上传文件到服务器上 内容精选 换一换 云堡垒机配置了FTP/SFTP远程备份,报请检查服务器密码或网络连接情况错误,不能启动远程备份。选择备份具体某一天日志,提示备份正在执行,但远程服务器未接收到该备份文件。原因一&#x…

微信/企业微信-本地(MAC)VUE项目调用JS-SDK,开发测试环境搭建

调用微信SDK前置条件 根据官方文档,前端在使用微信的接口前要先进行配置,配置信息得从后端获取,后端在计算signature时需要前端传入当前页面的URL,开发者要在公众平台设置JS SDK安全域名,在这个域名下才能使用微信JS S…

innodb 集群_部署MySQL InnoDB集群以实现高可用性

innodb 集群 In this article, I am going to explain how we can deploy the MySQL InnoDB cluster. InnoDB Cluster is a high availability solution provided by MySQL that has single and multi-master capabilities and failover detection. 在本文中,我将解…

ping命令和它的“亲友”们

前面在《kali主机发现背后的秘密》文章里,介绍了几个*ping的命令。ping可是“可人儿”。瞧,它们都来攀亲戚了,蹭热度来了。今天我们就来认识一下它们。 关系 名称 功能特点 备注 本宗 ping 网络诊断工具,测试互联网协议网络…

搞了运维开发这么多年,原来 Ping 还能这么玩儿

作者:刘勇 腾讯后台研发工程师,就读于北京大学。目前主要从事腾讯云-云拨测项目后台开发相关工作。 网络:良辰有一百种方法让你 Ping 不通,你却无可奈何 为什么 Ping 不通了?为什么又通了? 这些居然都能…

同一局域网下访问vue项目

同一局域网: 在你的电脑上用快捷键windows R打开cmd,使用ping ip地址(想要访问你项目的那台电脑的ip地址),如果成功后就表示你们处于同一局域网下。 本机ip地址 在你的电脑上用快捷键windows R打开cmd&#xff…

【Java 并发编程】一文详解 Java 中有几种创建线程的方式

Java 中有几种创建线程的方式? 1. Java 程序天然就是多线程的2. 线程的启动与终止2.1 线程的启动(1)继承 Thread 类,重写 run() 方法(2)实现 Runnable 接口,重写 run() 方法(3)Thre…

【操作系统】创建线程的方式

学习目标: 目标:掌握操作系统知识 学习内容: 本文内容:创建线程的方式 文章目录 学习目标:学习内容:1创建线程的方法一 : 继承Thread类1.1 写法一1.2 写法二 2 创建线程的方法二 :…

想不到吧,Java创建线程的方式只有一种

目录 前言继承Thread方式实现Runnable接口实现callable接口总结 前言 看到这个标题的小伙伴先别着急喷我……在面试的时候,我们经常会被问到这种基础题:Java创建线程的方式有几种? 比较正常的答法当然是三种: 继承Thread实现Ru…

【 java 多线程】创建多线程的方式三:使用 Callable 接口创建多线程

📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言&#x1f4d…

关于创建线程的方式有几种

导语 在我们平常的面试中,我们经常会被面试官问道:你知道Java中多线程的实现方式有几种吗?在网上刷过面试题的童鞋们,一般都会说两种:继承Thread、实现Runnable,甚至还有甚者可能会说三种、四种的&#xf…

Java创建线程的方式只有一种:Thread+Runnable

Java创建线程的方式其实只有一种 👨‍🎓一、继承Thread👨‍🎓二、实现Runnable接口👨‍🎓三、实现Callable接口👨‍🎓四、通过线程池创建👨‍🎓五、总结 一般…

java中创建线程的4种方式

写在前面的话 java线程创建方式有几种?这种问题在面试中经常被问到,你可能心里马上反映出两种方式(实现Runnable、继承Thread),当你把这两种叙述给面试官听后,面试官会觉得你该掌握的知识已经有了&#xf…

【 java 多线程】创建多线程的方式四:使用线程池创建多线程

📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言&#x1f4d…

创建线程的方式

一般来说,创建线程有三种方式:继承 Thread 类、实现 Runnable 接口和实现 Callable 接口。 继承 Thread 类:继承 Thread 类,重写 run() 方法,调用 start() 方法启动线程。 public class MyThread {public static cla…

【JAVAEE】创建线程的方式及线程的常用方法

目录 1.创建线程的四种方式 1.1继承Thread类 1.2实现Runnable接口 1.3匿名内部类 1.4lambda表达式 2.多线程的优势-增加运行速度 3.Thread类及常用方法 3.1构造方法 3.2常见属性 演示后台线程 演示线程是否存活 3.3线程中断 3.4线程等待-join() 3.5获取当前线程 …

创建线程的方式有那些?

目录 一.创建线程的4种方式 二.创建线程方式有什么区别? 一.创建线程的4种方式 (1)写一个类继承Thread,覆盖重写run方法 (2)创建一个Runnable类型的对象,实现run()方法,传入Thread的构造方法中 &#x…

创建线程几种方式

创建线程的几种方式: 方式1:通过继承Thread类创建线程 步骤:1.定义Thread类的子类,并重写该类的run方法,该方法的方法体就是线程需要执行的任务,因此run()方法也被称为线程执行体 2.创建Thread子类的实例&a…

线程创建的四种方式

java中创建线程的四种方法以及区别 Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用四种方式来创建线程,如下所示: 1)继承Thread类创建线程 2)实现Runnable接口创建线程 3&am…