阅读基础知识2

26 Linux中开放某个端口

在Linux中开放某个端口,通常需要配置防火墙规则来允许通过指定的端口号的网络流量。这里提供两种常用的防火墙管理工具的命令:

使用iptables(内核空间防火墙)

临时打开端口(重启后失效):

Bash

sudo iptables -A INPUT -p tcp --dport <端口号> -j ACCEPT

这里的 <端口号> 替换为你想要开放的具体端口号,例如要开放80端口:

Bash

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

永久生效(针对系统重启后仍保持规则): 首先执行临时打开端口的命令,然后保存规则到配置文件,不同Linux发行版可能有不同的持久化方法,对于那些没有内置服务直接管理iptables规则的系统,可以使用以下方式:

Bash

# 将规则保存至 /etc/iptables/rules.v4 (对于IPv4)
sudo iptables-save > /etc/iptables/rules.v4# 或者创建一个自启动脚本来加载规则
# 在一些系统上,你可能需要编辑 /etc/rc.local 文件或其他启动脚本# 然后重新加载规则
sudo iptables-restore < /etc/iptables/rules.v4

使用firewalld(动态防火墙管理工具,常见于RHEL/CentOS等)

临时开放端口(重启后失效):

Bash

sudo firewall-cmd --zone=public --add-port=<端口号>/tcp --permanent

例如,开放80端口的TCP流量:

Bash

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

使更改立即生效并永久保存:

Bash

sudo firewall-cmd --reload

请注意,--permanent 标志意味着更改将被写入到配置文件中,并在下次重启firewalld时自动加载。

根据你的Linux发行版和所使用的防火墙管理工具,请选择对应的方法进行操作。

27 Linux操作系统启动顺序

开机自检,加载 BIOS Grub 引导 加载内核 Kernel init 系统初始化脚本 (/etc/rc.d/rc.sysinit) 加载启动的服务

28 Linux/var/log/下日志详解

系统日志 一般都存在 /var/log
常用的系统日志如下 :
核心启动日志 :/var/log/dmesg
系统报错日志 :/var/log/messages (几乎所有的开机系统发生的错误)
邮件系统日志 :/var/log/maillog
FTP 系统日志 :/var/log/xferlog

29 Linux怎么批量杀死进程

kill -9 $(ps -ef | grep '关键词' | grep -v grep | awk '{print $2}')

这条命令的作用是在Linux环境下批量杀死包含特定关键词的进程。命令解析如下:

  1. ps -ef: 列出当前系统中所有的进程信息,包括进程ID、用户、CPU时间以及命令行参数等详细内容。

  2. grep '关键词': 对上述进程列表进一步筛选,找出命令行参数中含有特定关键词的进程行。

  3. grep -v grep: 排除掉由于第一个 grep 命令本身产生的进程行,防止误杀包含关键词 "grep" 的命令行工具自身。

  4. awk '{print $2}': 使用awk命令提取出每行的第二列数据,即进程ID(PID)。

  5. kill -9 $(...): 使用反引号 $(...) 执行括号内的命令并获取其输出作为参数传递给 kill -9 命令。kill -9 表示向对应的进程发送SIGKILL信号,这是一种强制终止进程的信号,会导致进程立即停止运行且不能清理资源

ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9
说明:
grep firefox 的输出结果是,所有含有关键字 “firefox” 的进程。
grep -v grep 是在列出的进程中去除含有关键字 “grep” 的进程。
cut -c 9-15 是截取输入行的第 9 个字符到第 15 个字符,而这正好是进程号 PID
xargs kill -s 9 中的 xargs 命令是用来把前面命令的输出结果( PID )作为 “kill -s 9” 命令的参数,并执行该命令。“kill -s 9” 会强行杀掉指定进程。

30 查看僵尸进程

如果父进程对SIGTERM无响应,可尝试更强硬的SIGKILL信号:
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs -r kill -9

31 vim中有那三种模式

命令,输入,编辑模式

32  查看资源有哪些?

iostat 监控系统设备的 IO 负载
top 系统实时情况
ifconfig 查看网络
uptime 查看系统负载 free 内存情况

33 常见的Linux版本有哪些?你最擅长哪一种?说明你擅长哪一块?

常见的 Linux 发行版有, Debian, Gentoo, Ubuntu, RedHat, CentOS, Fedora, Kali Linux, Suse 等,最擅
CentOS ,擅长部分命令使用,脚本编程,环境服务搭建与配置。

34 

34 Linux的标准分区是什么?(内存32G,硬盘1T

/boot 200M/50Gswap 16G,其余分到 /data 下。

35 突然发现一台Linux系统只读,应该怎么处理,请写出详细步骤。

文件系统只读,可能是误操作,比如挂载的时候加了 ro 的挂载选项。也可能是文件系统损坏,这时候可以使用fsck -y 分区 来尝试修复一下,但在修复之前最好是把重要数据做一个备份以防万一。如果修复失败,那说明是磁盘损坏,这就需要更换磁盘了。

36 构建简单网站架构模型

设备: 13 台服务器,要求:有负载均衡和数据库主从
架构: Keepalived + lvs + nginx/php + NFS + mysql + redis
keepalived+lvs 使用 2
Nginx+php-fpm 使用 5
NFS 使用 1
Mysql 双主,并使用 keepalived 构建高可用 使用 2
Redis 使用 1 台,用来存 session
备份机器使用 1
监控机器使用 1

37 你用过或测试过哪些 linux/unix文件系统?

centos5 默认是 ext3 centos6 ext4 centos7 xfs

38 怎样用命令查看3天前的CPU分核的负载数据?

sar -f /var/log/sa/( 三天前日期 )

39 某命令CPU负载显示以下各段,分别是什么10.6%us,6.6%sy, 0.0%ni 74.4%id 0.0%wa

us   用户 cpu 百分比
sy   内核 cpu 百分比
ni   进程占用百分比
id    空闲百分比
wa  io 等待占用的百分比

这段CPU负载数据显示了CPU的不同使用情况,具体解读如下:

  • 10.6%us: 用户态(User)CPU使用率。这是指CPU在处理非内核线程(应用程序代码)所花费的时间百分比。

  • 6.6%sy: 系统态(System)CPU使用率。这部分时间表示CPU用于处理内核态任务(操作系统内部任务,如系统调用、设备驱动程序、硬件中断处理等)所占用的时间。

  • 0.0%ni: 就绪队列(Nice)CPU使用率。这是指被调整过优先级(nice值)的用户进程消耗的CPU时间,这里的0.0%表示没有进程在nice级别下运行或者运行的nice进程消耗的CPU资源极小。

  • 74.4%id: 空闲(Idle)CPU使用率。这是指CPU在采样周期内空闲等待新任务的时间百分比,表明在这段时间内,CPU没有被任何任务有效利用。

  • 0.0%wa: 等待I/O(Wait)CPU使用率。这表示CPU在等待I/O操作(如磁盘读写)完成的时间百分比。这里的0.0%表示没有进程因I/O操作阻塞而导致CPU等待。

总结起来,这段数据显示在采样时刻,系统大部分时间(74.4%)CPU是空闲的,用户态进程占用了约10.6%的CPU资源,系统态进程占用了约6.6%的CPU资源,且没有进程在nice优先级下运行,也没有进程因I/O等待而消耗CPU资源。

40 列举你知道的linux下的压力测试程序

测试 web 的工具: http_load ab
专业的测试工具  loadrunner

41 描述linux系统下创建软RAID5的命令和步骤

假如有四块硬盘 /dev/sda,/dev/sdb,/dev/sdc,/dev/sdd ,分别给他们分一个主分区 sda1,sdb1,sdc1 和sdd1,然后创建 RAID 设备名为 md0, 级别为 RAID5 ,使用 3 个设备建立 RAID, 空余一个做备用 .
命令如下:
mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[a-d]1
使用下面命令查看 raid 详细信息
mdadm --detail /dev/md0

42 如何查找某一文件被哪个进程打开?

lsof|grep file

43 查看系统端口是否打开

在Linux系统中,你可以使用netstatss命令来查看系统端口是否打开。以下是两种方法:

方法1: 使用netstat命令(较老版本的Linux常用)

# 显示所有正在监听(打开)的TCP端口
netstat -tuln# 解析:
# -t 指定显示TCP连接
# -u 指定显示UDP连接(如果不关注UDP,可以省略此选项)
# -l 显示监听状态的套接字(即打开的端口)
# -n 使用数字形式展示地址和端口,而不是主机名和服务名

方法2: 使用ss命令(较新版本的Linux推荐,性能更好)

# 显示所有正在监听(打开)的TCP端口
ss -tuln# 解析:
# -t 指定显示TCP套接字
# -u 指定显示UDP套接字(如果不关注UDP,可以省略此选项)
# -l 显示监听(listening)状态的套接字
# -n 不解析服务名,显示端口号

这两个命令都会列出系统当前打开并监听(处于监听状态)的所有端口及相关的进程信息。

44 请用iptables写一条规则(同时允许 443,80,1723,22,3306,11211,25,110,dns,ntp协议,并写出默认允许或者拒绝端口的作用)

iptables -I INPUT -p tcp -m multiport --dport 443,80,1723,22,3306,11211,25,110,53,123 -j ACCEPT
iptables 默认是允许所有端口开放的,如果想只放行指定某些端口,那就需要配置一下默认规则了。比如本例中,我们写完放行的端口规则后还需要写一条默认拒绝的规则
iptables -P INPUT DROP
这样除了上面那规则中提到的端口可以访问外,其他端口都是拒绝的

44.1 写一条192.168.10.0网段从网关192.168.9.1出去的路由

route add -net 192.168.10.0/24 gw 192.168.9.1

44.2 写一条放行80端口的防火墙规则

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

44.3 开启ip211.123.16.123/24ip段的80

iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT

45 网站HTTPS证书认证需要那几个文件?分别是什么?什么作用?

HTTPS 证书需要有两个文件,一个是 crt ,一个是 key crt 文件就是公钥文件,用来加密的。而 key 文件是私钥文件,是用来解密的。

46 linux引导加载的先后顺序是BIOS kernel GRUB MBR RAID

BIOS -> RAID -> MBR -> GRUB -> kernel

47 进程间通信方式主要有哪几种方式?

1 管道 2 命名管道 3 信号 4 消息队列 5 共享内存 6 信号量 7 套接字

48 简要说明你对内核空间和用户空间的理解?

在现代操作系统中,尤其是类Unix操作系统(如Linux),内存空间通常被划分为内核空间(Kernel Space)和用户空间(User Space)。这两种空间的概念是为了实现更好的安全性、稳定性和效率。

内核空间(Kernel Space)

  1. 是操作系统的核心部分,拥有最高的权限,可以直接访问硬件资源,如CPU、内存、硬盘、网络接口等。
  2. 包含了操作系统内核的代码和数据结构,比如内核模块、驱动程序、系统调用接口、进程调度算法、内存管理和虚拟文件系统等核心功能。
  3. 内核空间的代码可以直接执行特权指令,对硬件进行底层控制,保证了系统的稳定性与安全性。

用户空间(User Space)

  1. 是应用程序运行的环境,每个用户进程都有自己的用户空间,只能访问分配给它的内存区域,不能直接操作硬件资源。
  2. 应用程序通过系统调用(syscall)请求内核提供的服务,如创建进程、读写文件、网络通信等,从而间接使用硬件资源。
  3. 用户空间的代码执行受到严格的限制,不能执行特权指令,以此防止应用程序错误操作导致系统崩溃。

通过这样的空间划分,操作系统能够有效地隔离和保护内核资源,同时提供了一个相对安全的环境供应用程序运行。只有经过内核严格检查和授权的操作才能涉及硬件层面,极大地提高了系统的稳定性和安全性。

49 当文件系统受到破坏时,如何检查和修复系统?

成功修复文件系统的前提是要有两个以上的主文件系统,并保证在修复之前首先卸载将被修复的文件系统。
使用命令 fsck 对受到破坏的文件系统进行修复。 fsck 检查文件系统分为 5 步,每一步检查系统不同部分的连接特性并对上一步进行验证和修改。在执行 fsck 命令时,检查首先从超级块开始,然后是分配的磁盘块、路径名、目录的连接性、链接数目以及空闲块链表、i-node

50 linux日志级别(由轻到重)

debug    排错信息
info       正常信息
notice   稍微注意信息
warm   警告信息
err       错误信息( error)
crit      关键错误( critcal)
alert    警报信息
emerg 紧急信息( emergency

51 linux日志类型

authpriv 安全认证
cron 定时任务( at cron)
daemon 后台进程
kern 内核
mail 邮件系统
syslog 日志服务
lpr 打印
news 新闻系统
uucp uucp 系统
local0~local7 自定义类型,系统保留,给其它用户或程序自定义使用
lpr news uucp 类型不常用,其它 6 种常用。

52 ps 命令

按占用内存百分比从大到小排列
ps aux |sort -r -k4
查找到某一个进程的 pid 有几种方式
ps aux | grep sshd
pstree -p | grep sshd
pgrep -l sshd
统计出 root 用户一共运行的进程总数
pstree -u root | wc -l
统计出系统当中所有正在正常运行的进程数
ps -ef | wc -l
查看 httpd 一共启动了几个进程并全部杀死
ps -ef | grep httpd | wc -l     统计启动的进程
ps auxf | grep httpd     查询进程号
kill 16804     杀死
查看当前用户的所有进程的详细信息
ps aux
查看 PPID=1 的进程
ps -ef | awk '$3==1'

三 Linux服务

1.简述DNS进行域名解析的过程?

用户要访问 www.baidu.com ,会先找本机的 host 文件,再找本地设置的 DNS 服务器,如果也没有的话,就去网络中找根服务器,根服务器反馈结果,说只能提供一级域名服务器.cn ,就去找一级域名服务器,一级域名服务器说只能提供二级域名服务器.com.cn, 就去找二级域名服务器,二级域服务器只能提供三级域名服务器.baidu.com.cn ,就去找三级域名服务器,三级域名服务器正好有这个网站 www.baidu.com ,然后发给请求的服务器,保存一份之后,再发给客户端

2. DNS为什么选择UDP

1.UDP 快,只需要一问一答, TCP 需要三次握手四次挥手
2.DNS 报文一般比较小,用一个 UDP 包可以装的下
3.UDP 不需要建立连接,减小 DNS 服务器的负担

3. yum仓库如何开启缓存,软件包保存在哪?

启用 yum 缓存,即保存源包
yum 配置文件:
vim /etc/yum.conf
keepcache=1
默认情况下, yum /var/cache/yum/ 目录保存临时文件,每个仓库都有自己的子目录。仓库目录中 packages/ 子目录包含了缓存的软件包。例如,目录 /var/cache/yum/development/packages/ 包含从 development 仓库下载的软件包
1.使用 yum 缓存
默认情况下,当前版本的 yum 在成功下载和安装软件包后,会把下载的文件删掉。这样可以减少 yum 占用的磁盘空间。你可以打开缓存,这样 yum 将在缓存目录保留下载到的文件。
缓存带来很多好处:
        yum 的性能可以提高
        你可以离线运行 yum 操作,只使用缓存
        你可以复制缓存中的软件包以备用
2. 启用 yum 缓存
要配置 yum 保留已下载的文件而不是删除,设置 /etc/yum.conf 中的 keepcache 选项为 1
keepcache=1
打开缓存后,每个 yum 操作都可能从仓库下载软件包数据。要保证缓存包含了软件包数据,在启用缓存后运行一个操作,例如 list search 来下载软件包数据而不影响系统。
3.在只使用缓存的模式下使用 yum
要在没有网络的情况下执行 yum ,只要启用了缓存,就可以用 -C 选项。这样 yum 就不会检查网络上的仓库,只使用缓存。在这个模式中,yum 只能安装已下载并缓存的软件包
解释 3 缓存的模式

在Linux中,yum(Yellowdog Updater, Modified)是一个用于RPM包管理系统的老式包管理工具,它已经被dnf(Dandified Yum)取代,在某些较新版本的Linux发行版中(如Fedora 22及以后、RHEL 8及以后)。然而,在过去的 CentOS 和 RHEL 系统中,yum 支持在只使用缓存的情况下工作,这在离线或受限网络环境中特别有用。

要在只使用缓存模式下使用yum,通常是指在没有网络连接时安装之前已经缓存好的软件包或依赖。要达到这一目的,你需要预先使用yum makecache命令下载所有可用的软件包信息和头文件到本地缓存中。之后,即使断开网络连接,也可以尝试安装之前缓存过的软件包。

例如,先更新缓存:

sudo yum makecache fast

接着,如果有足够的缓存数据,尝试安装已缓存的软件包:

sudo yum install <package_name> --disablerepo=* --enablerepo=localmirror

在这个命令中:

  • --disablerepo=* 关闭所有在线软件仓库。
  • --enablerepo=localmirror 启用一个名为 localmirror 的本地镜像仓库,前提是已配置了本地镜像仓库并且其中包含了所需软件包的缓存。

需要注意的是,为了完全依赖缓存进行安装,你需要确保所有需要的软件包及其依赖项都已经存在于本地缓存目录 /var/cache/yum 中。此外,为了长期有效的本地安装,你可能还需要设置一个完整的本地YUM仓库,或者是手动将所需的软件包复制到缓存目录中。

4. cpu使用率过高,该怎么分析?

CPU使用率过高时,分析和解决问题通常涉及以下几个步骤:

  1. 实时监控与初步判断:

    • 使用系统自带的工具,如Windows的任务管理器(Task Manager)或Linux的tophtopvmstatmpstatiostat等命令来实时查看CPU使用率,并找出占用CPU资源最多的进程或线程。
    • 在Linux中,还可以通过ps -auxps -eo %cpu,%mem,comm,lstart,etime,args命令查看进程详细信息,包括启动时间和CPU占用率。
  2. 确定高CPU使用的原因:

    • 软件原因:检查是否有恶意软件、病毒或木马;排查是否有应用程序(如浏览器、数据库服务、后台服务、编程语言运行环境等)过度消耗CPU资源;检查是否存在循环计算、死锁、资源竞争等问题。
    • 驱动程序问题:不合适的或过时的驱动程序可能导致CPU使用率异常升高,尤其是显卡驱动等关键硬件驱动。
    • 系统服务或计划任务:检查是否有不必要的系统服务在后台运行,或者是否有定时任务突然占用大量CPU资源。
    • 系统错误或bug:可能是操作系统内核错误或者应用程序自身的bug导致CPU使用率居高不下。
  3. 深入分析与诊断:

    • 日志分析:查阅系统日志、应用程序日志或内核日志(如/var/log/messages、/var/log/syslog等),寻找与高CPU使用有关的线索。
    • 堆栈跟踪:对于特定的高CPU消耗进程,可以使用strace(Linux)、gdb(调试器)等工具追踪系统调用或进行代码级别的分析,查看进程是否陷入了无限循环或其他异常行为。
    • 性能分析工具:使用像perf(Linux性能分析工具)、oprofilesysdigdtrace等高级工具,对CPU热点函数进行深度剖析。
  4. 硬件检查与排除:

    • 散热问题:检查CPU散热状况,如果散热不良可能导致CPU降频或持续高位运行以应对过热。
    • 硬件故障:虽然不常见,但也可能是CPU本身的故障或其他硬件冲突引起的。
  5. 解决方案制定与实施:

    • 关闭或限制进程:对于非必要的进程,可以手动停止或限制其资源占用。
    • 更新或替换软件:更新到最新版本的应用程序或驱动程序,或寻找资源消耗较低的替代品。
    • 优化配置:调整系统或应用程序的配置,减少不必要的功能或提高并发处理效率。
    • 升级硬件:如果CPU使用率总是高企且经过优化后仍然无法改善,可能需要考虑升级硬件,特别是CPU性能不足以应对当前工作负载的时候。

通过以上步骤,可以较为全面地分析并着手解决CPU使用率过高的问题。在实际情况中,可能还需要结合具体的技术环境和业务场景来进行更为细致的排查和优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win电脑安装绿色版MySQL8

一、下载压缩包 下载mysql server的zip文件&#xff0c;地址&#xff1a;Windows (x86, 64-bit), ZIP Archive 解压后&#xff1a; 二、创建配置文件&#xff08;可忽略&#xff09; 配置文件可存放位置及名称&#xff1a; C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini…

招个Java工程师,却发现了一个宝藏平台

一直关注磊哥的朋友都知道&#xff0c;磊哥出来创业&#xff08;做 Java 就业指导&#xff09;也快一年了&#xff0c;从最初的纠结彷徨、不知所措&#xff0c;到现在逐渐找到自己的节奏&#xff0c;也算是半个媳妇熬成婆了。 磊哥现在每天做的事儿&#xff0c;就是通过文章和…

使用Navicat远程连接Linux中的MySQL

一、登录MySQL数据库 mysql -uroot -pXjm123456 二、使用mysql数据库 use mysql&#xff1b; 三、查询user表中包含host的字段 select user,host from user;### 该字段中&#xff0c;localhost表示只允许本机访问&#xff0c;可以将‘localhost’改为‘%’&#xff0c;‘%’表…

8.发布页面

发布页面 官网 https://vkuviewdoc.fsq.pub/components/form.html 复制官网中的内容 代码 write.vue <template><view class"u-wrap u-p-l-20 u-p-r-20"><u-form :model"addModel" ref"form1"><u-form-item label&quo…

深度强化学习06Actor-Critic

Critic裁判 裁判打分 提高自己的技术 提高打分水平

编译原理-实现识别标识符的词法分析器——沐雨先生

实验任务&#xff1a; 实现识别标识符的词法分析器 实验要求&#xff1a; 根据编译原理理论课教材中图2.3“标识符的转换图”&#xff0c;用C语言编写识别标识符的词法分析器&#xff0c;以文本文件为输入&#xff0c;控制台&#xff08;或文件&#xff09;输出识别出的每个…

uni app 打肉肉(打飞机)小游戏

都给老婆和孩子写了 合十 钓鱼了&#xff0c;给自己写个打飞机吧。没找飞机怪兽的图片。就用馒头和肉肉代替了。有问题不要私信我。自己改哈 <template><view class"page_main"><view class"contentone"><canvas class"canvas…

C语言每日一题(64)快乐数

题目链接 力扣网202 快乐数 题目描述 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不…

Flink源码解析(1)job启动,从JM到TM过程详解

网络传输模型 首先在看之前,回顾一下akka模型: Flink通讯模型—Akka与Actor模型-CSDN博客 注:ActorRef就是actor的引用,封装好了actor 下面是jm和tm在通讯上的概念图: RpcGateway 不理解网关的作用,可以先移步看这里:网关_百度百科 (baidu.com) 用于定义RPC协议,是…

【Python】【Pandas】详解Pandas模块常用函数

1. pandas简介 Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来,享有数据分析“三剑客之一”的盛名(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具,它的目标是成为强大、灵活、可以支持任何编程语言的数据分…

torchvision pytorch预训练模型目标检测使用

参考&#xff1a; https://pytorch.org/vision/0.13/models.html https://blog.csdn.net/weixin_42357472/article/details/131747022 有分类、检测、分割相关预训练模型 1、目标检测 https://pytorch.org/vision/0.13/models.html#object-detection-instance-segmentation-…

四.流程控制(顺序,分支,循环,嵌套)

c刚刚转过来的记得写在public static void main&#xff08;String[] args&#xff09;的花括号里 一.顺序结构 二.分支结构 if &#xff0c;switch 1.if (条件判断&#xff09; 2.if else 3.if else if else if ... else(它是一个一个否定来一个个执行判断的 4.s…

以太坊开发学习-solidity(三)函数类型

目录 函数类型 函数类型 solidity官方文档里把函数归到数值类型 函数类型是一种表示函数的类型。可以将一个函数赋值给另一个函数类型的变量&#xff0c; 也可以将一个函数作为参数进行传递&#xff0c;还能在函数调用中返回函数类型变量。 函数类型有两类&#xff1a;- 内部&…

什么是虚拟dom

Virtual DOM&#xff08;虚拟DOM&#xff09; 就是由普通的 JS 对象来描述DOM对象&#xff0c;因为不是真实的DOM对象&#xff0c;所以叫 Virtual DOM。 虚拟DOM就是使用一个虚拟的 DOM 树来描述真实的 DOM 树结构和节点属性&#xff0c;通过比较新旧两颗虚拟 DOM 树的差异&…

如何删除全局的某个字符并替换js

let cons data[i].content.replace(/\/uploads\//g, 要替换的字符串/);console.log(data[i]); 该代码是将data数组中每个元素的content属性值中的"/uploads/"替换为"http://bas.xingyuncm.cn/uploads/"。 其中&#xff0c;replace()方法是字符串的方法&am…

day-24 腐烂的橘子

思路&#xff1a;利用bfs的思想 首先利用bfs遍历值为2的橘子&#xff08;遍历时1和2都可以走&#xff09;结束后如果存在某个橘子未被访问过且值为1则返回-1 再利用bfs遍历值为2的橘子 每遍历一次 时间加1 注意不要立即将map的值变为2&#xff0c;可以通过一个缓存数组临时存放…

CentOS7使用Docker部署.net Webapi

1 准备WebApi项目 对于已存在的WebApi项目&#xff0c;需要添加Docker支持&#xff1b; 编码时&#xff0c;先设置好项目需要的端口号&#xff1a;program.cs中&#xff0c;app.Run("http://*:8000");设置端口为&#xff1a;8000在VS中&#xff0c;选中项目&#xf…

2024上半年软考报名3月18日已开启!报名流程来啦~

截止至3月15日11:00&#xff0c;河北、山东、西藏、兵团、云南、澳门、西安、陕西、辽宁、新疆、大连、青海、宁波公布了2024上半年软考报名时间。 不想一直盯着官网等报名&#xff0c;可以关注一波HCIE考证研究所&#xff0c;获得软考报名提醒哦&#xff01; 2024上半年软考…

作业:基于udp的tftp文件传输实例

#include <head.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <errno.h>#define PORT 69 //服务器绑定的端口号 #define IP "192.168.1.107" //服务器的IP地址int do_download(i…

使用JAXB生成XML的Java对象

文章目录 标题使用JAXB生成XML的Java对象根据xml生成xsd文件&#xff1a;下载trang.jar&#xff1a;使用trang.jar生成xml的xsd文件&#xff1a; 使用JAXB的xjc生成java对象&#xff1a; 标题使用JAXB生成XML的Java对象 根据xml生成xsd文件&#xff1a; 下载trang.jar&#x…