Linux第二次总结
Linux阶段总结
OSI模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
路由器的工作原理:最佳路径选择
三次握手四次挥手:...
shell是翻译官把人类语言翻译成二进制语言
Tab作用:自动补齐、确认输入是否有误
Ctrl+C 终止 取消命令
Ctrl+L 清屏 clear
man详细手册
help命令搭配哪些选项
-文件 d目录
硬链接:复制了自身,inode号相同
软连接:快捷方式
xfs inode号怎么办?
还能写100-300个,有宽容机制
磁盘空间越大,inode号越多
du -sh *最人性化展示当前目录下所有文件大小
cp -f 和 cp -i 没有区别,系统默认cp -i会询问
cp -a可以不用-r
查找opt目录下,所有大于1G的文件,然后把他们移动到etc目录下
find /opt -size +1G -exec mv {} /etc \;
o or 或者 满足一个条件即可
a and 并且 同时满足两个条件
-ok COMMAND {} \; 会询问,需要回复yes执行(一个文件问一次)
-exec COMAAND {} \; 直接执行command
find -mtime 10 十天到十一天
find -mtime +10 十一天以上
find -mtime -10 十天以内
查看硬盘分区情况 lsblk
查看机器架构:arch
查看内核版本:uname -a 、uname-r
查看当前系统时间:date

-d描述的日期
+%F:完整日记格式
+%T:时间(24小时制)
编译安装 /usr
yum安装配置 /etc
tail -f动态查看后十行
tar -zcvf xxxx.tar.gz yyyy
tar -zxvf xxxx.tar.gz yyyy
tar -jcvf xxxx.tar.bz2 yyyy
tar -jxvf xxxx.tar.bz2 yyyy -C 目录
mount /dev/cdrom /mnt
cd /etc/yum.repo.d
mkdir backup.bak
mv C* backup.bak
vim local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
yum clean all && yum makecache
gpgcheck=0 表示yum将不验证软件包的签名。这可以加快软件包的安装速度,但也会降低安全性
编译安装:
./configure --prefix=/usr/local/apache
yum -y install ...
make && make install
userdel -r连宿主目录一起删掉,腾出空间
777 : 所有者 所属组 其他用户
chmod -R:递归修改所有子目录文件权限
chown 属主:属组 名字
设置目录和文件的默认权限:umask
root umask 022 普通用户 002
文件默认权限:666 文件夹默认权限:777
文件逢奇数进一,没有执行权限
su 在root模式下 刷新作用
su 直接切换,不完全切换,还是之前的bash环境
su - 完全切换
/boot引导分区
swap 交换分区:当系统空间不够就从交换分区分配空间使用
磁盘分区优点:便于管理、优化读写性能
fdisk 小于2TB 2.2实际
gdisk 大于2TB
mkfs -t 文件系统类型 分区设备
mkfs -t 文件系统类型 分区设备
blkid查询设备uuid号
vim /etc/fstab永久挂载
/dev/sdb1 /opt xfs defaults 0 0
文件类型 定义默认值 备份开启
/dev/sr0 iso9660 defaults 0 0
镜像挂载 iso9660
iostat 查看磁盘读写性能
umount -lf 强制解除正在繁忙的文件
创建物理卷 创建卷组 创建逻辑卷 平滑扩容
格式化 挂载
pvcreate vgcreate lvcreate lvextend -L
扩容加-r,否则刷新xfs_growfs
LVM管理:scan、create、display、remove、extend、reduce
xfs只能扩容 ext4可以扩容可以缩容,但不考虑
磁盘配额:dd if=/dev/zero of=opt/123.txt bs=10M count=12
top查看进程动态信息
crontab -e 分时日月周
运行起来的代码就是进程
pstree -p 查看单进程多进程
日志文件:
公共消息日志:/var/log/messages
计划任务日志:/var/log/cron
系统引导日志:/var/log/dmesg
邮件系统日志: /var/log/maillog
用户登录日志: /var/log/secure 用户认证安全事件
/var/log/lastlog 最近登录
/var/log/wtmp 具体登录注销启停
/var/run/btmp 记录失败
route -n查看当前路由信息
网卡地址:/etc/sysconfig/network-script
修改DNS硬解析配置文件:vim /etc/resolv.conf
/etc/hosts/ 保存IP映射
ifconfig ens33 192.168.179.20:0 192.168.179.100 255.255.255.0 虚拟网卡
ftp:文传协议 20 21端口
作用:linux和windows互传
dhcp 分配地址池
rz 文件名 #下载指定文件到服务器
sz 文件名 #把服务器的文件下载到客户端
DNS迭代和递归:DNS(域名系统)的迭代和递归是两种不同的查询方式。
递归查询是客户端向DNS服务器发出请求,请求该服务器返回解析结果。如果该服务器不知道答案,它将会向其他服务器发送请求,直到找到答案并返回给客户端。这种查询方式要求DNS服务器尽可能提供完整的解析过程,而且可能涉及多个服务器之间的通信。递归查询通常由本地DNS服务器执行,而不是由最终用户的计算机执行。
相反,迭代查询是DNS服务器接收到查询请求后,它只返回一个指向下一个可能有答案的DNS服务器的“指针”,而不是直接提供解析结果。这个过程一直持续到DNS服务器找到答案,或者确认没有答案为止。如果没有找到答案,DNS服务器将返回“未找到”错误消息。这种查询方式要求客户端自己负责迭代查询过程。
总的来说,递归查询和迭代查询都是为了获取DNS解析结果。但它们的执行方式和角色是不同的。递归查询是在DNS服务器之间进行的,它要求服务器尽可能提供完整的解析过程,以便最终提供答案。而迭代查询则需要客户端参与到查询过程中,一步一步地找到答案。
ssh默认配置文件是:/etc/ssh/sshd_config(改端口号)
默认端口号:22
ssh -keygen -t
白名单比黑名单安全性高
允许所有,拒绝个别 /etc/hosts_deny
允许个别,拒绝所有/etc/hosts_allow
yum仓库 混搭:priority 优先级区分
NFS备份共享目录主要用来备份
showmount -e 查看共享目录
自动挂载:
192.168.179.20:/opt/wwwroot /myshare nfs defaults,_netdev 0 0
三剑客:grep sed awk
针对文件的内容的行操作
grep -w 匹配整个单词
grep -e -e 或者 或者
grep -o仅显示匹配到的字符串
grep -r 递归过滤目录中的文件的内容
sort排序
uniq连续去重
tr 字符串替换、压缩和删除
split -l 指定行分
split -b 指定大小分
通配符匹配文件和文件名
正则匹配文件内容
*一个或多个
?一个任意字符
[]任意单个字符
元字符:
. 匹配任意单个字符,可以是一个汉字 \.表示.
() 使用转义字符,不用转义符表示分组
[^] 表示范围外的任意单个字符
[ ]匹配范围内的任意单个字符
[:alnum:]字母和数字
[:alpha:]任何英文大小写字符
[:lower:]小写字母
[:upper:]大写字母
[:space:] 空格
^root$ 单独一行,只有root(用于匹配整行模式)
^行首锚定,用于模式最左侧
$行尾锚定,用于模式的最右侧
^$空行
扩展正则:
grep -E sed -r
| 或者 :C|cat C或cat (C|c)at Cat或者cat
sed 命令:
s:替换字符串
c:整行替换
y:字符替换,长度要一致
sed -f:前一个文件作为后面的文件的命令
awk默认分隔符:空格或tab
BEGIN打印模式:
awk 'BEGIN{...};{...};END{...}'文件
awk -v 变量赋值
RS默认分隔符 \n 换行
通信五元素:源/目的 端口 源/目的 IP 协议(tcp/udp)
四表五链:
优先级 :raw >mangle> nat> filter(默认)
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
iptables -t 表名 管理选项 [链名] [匹配条件] [-j 控制类型]
规则表的作用:容纳各种规则链
规则链的作用:容纳各种防火墙规则
表里有链,链里有规则
DROP与REJECT 都是拒绝,REJECT会给回应
iptables -vnL --line-number
iptables-save备份
iptables-restore导入
SNAT主要是用来做默认网关的,而DNAT主要是用来做端口映射的。
firewalld防火墙9个区域,默认public
提取主机名放入host文件:
awk -F'[ .]+' '{print $2}' 111.txt >host
awk ‘{print $2}’ 111.txt | awk -F. ‘{print $1}’
★取小数点几位和取整数(printf:f调用%.f方法)
result=$(awk 'BEGIN{printf "%.2f",2.32332*2.3213}') 取小数点2位
result=$(awk 'BEGIN{printf "%.F",2.32332*2.3213}') 取整(四舍五入)
★简单日志分割
awk '{print $1, $7, $9}' /var/log/messages
磁盘可用容量(G)
df | grep -w centos-root | awk '{sum+=$4} END{print "磁盘可用容量:"sum/1024/1024}'
df -h | awk '$NF=="/"{print $4}'
etc下文件的大小和(M)
ls -l /etc/ | awk '/^-/ {sum+=$5} END{print "文件总大小:"sum/1024“M”}
读取message 17:30-17:50
sed -n '/Mar 24 17:30:01/,/Mar 24 17:50:02/p' /var/log/message
修改网卡IP
sed -i '/^IPADDR/c IPADDR=192.168.179.20' /etc/sysconfig/network-scripts/ifcfg-ens33
★统计当前主机的连接状态
ss -ant | grep -v '^State' | cut -d " " -f 1 | sort | uniq -c
★统计当前连接主机数
ss -nt | tr -s "" | cut -d " " -f 5 | sort -n | uniq -c
先配置本地yum源
mount/dev/cdrom/mnt/ 把光盘临时挂载到/mnt目录下
cd/etc/yum.repos.d
mkdir repos.bak
mv * repos.bak
vim local.repo
[local] #文件名
name=local #描述
baseurl=file:///mnt #将制定光盘挂载目录座位软件仓库源
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不去检查软件序列号
yum clean all && yum makecache #删除yum缓存并更新
查看系统启动耗时
systemd-analyze
硬盘满了,该如何解决?
答案:①删除没有用的文件,删除了一个大文件但是磁盘没有释放空间,原因是文件还在被使用。解决方法删除之前:echo “ ”>/大文件。将文件重定向为空。删除之后:lsof | grep delete显示打开的文件并过滤删除的文件,然后kill 杀死这个寻找到的进程。
②申请加硬盘
找到大于7天大于1g的普通文件并删除,一条命令解决。
答案:find -mtime +7 -type f -size +1G -delete
如何将俩个文件合并成一个文件?
答案:上下合成 cat 1.txt 2.txt >3.txt
答案:左右合成 paste 1.txt 2.txt >3.txt
我现在有一个文件夹,有很多文件,请快速过滤出这个文件夹下所有含有root字符串的文件。
答案:grep -rw root 文件夹
实时查看某软件运行的报错日志最后20行,目录/var/log/soft.log
答案: tail -f -n 20 /var/log/soft.log
cp /etc/passwd /opt/xxx :
cp的命令需要的最低权限 : 执行
passwd这个文件的最低权限: 读 写 执行
xxx目录的最低权限: 写 执行
总结安全加固的措施
1.将非登录用户shell设置为nologin
2.锁定长期不使用的账号(锁定用户)
3.删除无用账号
4.chattr锁定配置文件(重要文件passwd、shadow、fstab等加 i 权限,不让删除)
5.设置密码复杂性规则(长度、特殊字符、失效时间等)密码策略
6.修改history,记录历史命令,尽量缩短记录历史命令的条数
7.禁止su root,切换超级管理员
8.设置sudo权限,禁用不安全命令
9.给GRUB设置密码
10.只允许BIOS从硬盘启动,关闭除了硬盘启动外的(光驱、udisk 、网络)
11.给BIOS设置密码
12.限制root只在安全终端登录
13.禁止普通用户登录
14.改掉大家都知道的服务端口
15.做好日志权限管理
16.内核参数调整
如何优化Linux系统?
不用root,添加普通用户,通过sudo授权管理
更改默认的远程连接SSH服务端口及禁止root用户远程连接
定时自动更新服务器时间
配置国内yum源
关闭selinux及iptables(iptables工作场景如果有外网IP一定要打开,高并发除外)
调整文件描述符的数量
精简开机启动服务(crond rsyslog network sshd)
内核参数优化(/etc/sysyctl.conf)
更改字符集,支持中文,但建议还是使用英文字符集,防止乱码
锁定关键系统文件
清空/etc/issue,去除系统及内核版本登陆前的屏幕显示
一台Linux系统初始化环境后需要做一些什么安全工作?
添加普通用户登录,禁止root用户登录,更改SSH端口号。修改SSH端口不一定绝对。如果暴露在外网,建议修改。
服务器使用密钥登录,禁止密码登录。
开启防火墙,关闭SElinux,根据业务需求设置相应的防火墙规则。
装fail2ban这种防止SSH暴力破击的软件。
设置只允许公司办公网出口IP能登陆服务器(看公司实际需求),也可以安装VPN等软件,只允许连接VPN到服务器上。
修改历史命令记录的条数为10条。
只允许有需要的服务器可以访问外网,其他全部禁止。
做好软件层面得防护:(1)设置nginx_waf模块防止SQL注入
(2)把Web服务器使用www用户启动,更该网站目录的所有者和所属组为www
面试题:提取版本号
[root@localhost opt]# grep -E "[0-9]+\." 1.txt
ant-1.9.7.jar
ant-launcher-1.9.7.jar
antlr-2.7.7.jar
antlr-runtime-3.4.jar
aopalliance-1.0.jar
archaius-core-0.7.6.jar
asm-5.0.4.jar
aspectjweaver-1.9.5.jar
bcpkix-jdk15on-1.64.jar
bcprov-jdk15-1.46.jar
bcprov-jdk15on-1.64.jar
checker-compat-qual-2.5.5.jar
[root@localhost opt]# cat 1.txt |sed -r 's/(.*)-(.*)(\.jar)/\1\2\3/' #完整版
[root@localhost opt]# cat 1.txt |sed -r 's/.*-(.*)(\.jar)/\1\2/' #把-前面的取消了
[root@localhost opt]# cat 1.txt |sed -r 's/.*-(.*)\.jar/\1/' #把.jar是不在引用,正确结果
#-r 表示引用扩展正则,(.*)表式"-"前面的所有,"-",就是"-",第二个(.*)表示"-"后面的内容到.jar,(\.jar)的第三个部分
1.9.7
1.9.7
2.7.7
3.4
1.0
0.7.6
5.0.4
1.9.5
1.64
1.46
1.64
2.5.5
inode号满了怎么办
删小文件 不用的文件
扩容+格式化 lvm -r df -i
io读写占满了
磁盘坏了
次数抓包处理
tcpdump tcp -i ens33 -t -s0 -c 100 and dst port 80 and src net 192.168.179.0/24 -w ./target.cap
动态抓包处理:
tcpdump -i ens33 -s0 -w ./ens33.cap
第一题:CPU使用率
第二题:内存占用率
第三题:磁盘占用率
第一题:top -b -n 1 | grep -w %Cpu | awk '/ /{sum=$2+$4}END{print "CPU使用了"sum"%"}'
CPU使用了50%
第二题:free -m | grep -w Mem: | awk 'BEGIN{FS=" "}{if($3/$2>=0.9){printf"%.2f""内存使用了:"$3/$2*100"% 内存使用超过90%请注意!"} else{print" 系统统使用了"$3/$2*100"% 系统很健康!"}}'
系统统使用了8.02862% 系统很健康!
第三题:df -h | grep /dev/sda | awk '/ /{print$1"占用率"$5}'
/dev/sda3占用率16%
/dev/sda1占用率53%
第一题:top -b -n 1 | grep -w %Cpu | awk '{print "CPU使用了"$2+$4"%"}'
CPU使用了53.2%
第二题:function jiankong {
free -m | grep -w Mem: | awk '{avg=$3/$2}END{printf"磁盘使用率:%.2f%%\n",avg*100}'
}
jiankong $avg
function bijiao {
local a=$(jiankong)
if [[ `expr $a \>= 0.9` -eq 0 ]];then
echo "磁盘使用率超过90%请注意!"
else
echo "系统很安全!放心使用!"
fi
}
bijiao $a
磁盘使用率:22.52%
系统很安全!放心使用!
第三题:df -h | grep /dev/sda | awk '{print$1"占用率"$5}'
相关文章:
Linux第二次总结
Linux阶段总结 OSI模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 路由器的工作原理:最佳路径选择 三次握手四次挥手:... shell是翻译官把人类语言翻译成二进制语言 Tab作用:自动补齐、确认输入是否有误 …...
算法:贪婪算法、分而治之
算法:贪婪算法、分而治之 文章目录1.贪婪算法计数硬币实例12.分而治之分割/歇征服/解决合并/合并实例23.动态规划对照实例34.基本概念算法数据定义数据对象内置数据类型派生数据类型基本操作1.贪婪算法 设计算法以实现给定问题的最佳解决方案。在贪婪算法方法中&am…...
462. 最小操作次数使数组元素相等 II——【Leetcode每日一题】
462. 最小操作次数使数组元素相等 II 给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最小操作数。 在一次操作中,你可以使数组中的一个元素加 1 或者减 1 。 示例 1: 输入:nums [1,2,3] 输出:2 …...
对数据库的库及表的操作
全篇在MySQL操作下完成 在此之前,先介绍一下,字段、列类型及属性。 一、什么是字段、列类型、属性 (1)字段,一张表中列的名称;列类型,该列存储数据的类型;属性,描述列类型的特征。 …...
final类又没实现接口应该用哪一种代理, jdk动态代理还是cglib代理
jdk动态代理还是cglib代理🧙jdk动态代理和cglib代理的示例JDK动态代理原理CGLIB代理final类又没实现接口应该用哪一种代理, jdk动态代理还是cglib代理滚滚长江东逝水,浪花淘尽英雄。——唐代杨炯《临江仙》 jdk动态代理和cglib代理的示例 以下是一个使用…...
使用StaMPS_Visualizer
0 前言 StaMPS-Visualizer :由thho开发的用于可视化由StaMPS / MTI处理的DInSAR结果。 github地址:StaMPS-Visualizer 使用StaMPS_Visualizer需要配置好StaMPS,并安装好R和Rstudio Ubuntu中安装StaMPS StaMPS-Visualizer 安装步骤–在linux…...
高并发-高性能-高可用-结论版
文章目录上万的并发需要多少台web服务器一般单机能处理200请求,为何redis单机却能处理上万请求单线程每秒能处理(发送/响应)的http请求数三高的定义高并发的解决方案高性能的解决方案高可用的解决方案参考文章上万的并发需要多少台web服务器 …...
数智转型助力建筑业全产业链升级,你了解多少?
关于数智转型,指的是基于数字化技术和数据驱动的思维方式,将企业的管理、业务和服务进行全面的升级和改造,从而帮助实现企业的数字化转型和升级。通过数字技术和数据分析来提高企业的效率、创新能力和竞争力,进一步提高企业的市场…...
Python网络设备脚本中经常使用的connecthandler和telnetlib是什么意思?
你好,这里是网络技术联盟站。 在昨天的文章中,有小伙伴提到对这两天瑞哥提供的Python脚本中涉及的connecthandler和telnetlib两个模块不是太了解,想要学习一下: 今天瑞哥就安排上! 其实这两个模块是Python与网络设备…...
你真的会写 git commit message 吗?
作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。 热门文章推荐…...
ISO文件内添加kickstart完成自动安装
目录 将待制作的centos iso文件挂载到/mnt/目录 将/mnt/下的所有文件复制到新的目录/tmp/mycentos 创建kickstart文件 修改启动文件 重新制作ISO文件 制作完成 kickstart可以实现根据配置自动安装操作系统,本文主要讲解如何让机器读取到iso文件后自动完成操作…...
SpringBoot 整合RabbitMq 自定义消息监听容器来实现消息批量处理
SpringBoot 整合RabbitMq 自定义消息监听容器来实现消息批量处理前言添加依赖配置文件编写监听器创建SimpleRabbitListenerContainerFactory发送消息前言 RabbitMQ是一种常用的消息队列,Spring Boot对其进行了深度的整合,可以快速地实现消息的发送和接收…...
jquery基础之操作节点对象
jquery操作节点(元素)对象 捕获-DOM操作,获取内容,值 获取内容:1.text()获取元素的文本内容 2.html()获取元素的文档内容 …...
对于Java的深入理解及其特点--面试
前言 计算机语言千千万,每一种语言都有其自己的特点、擅长的领域。在学习了Java之后才对Java有了进一步的理解。 面试问一: 你是如何理解Java这门语言的? 这里我们应该从下面几个点去总结 1、Java语言具有的属性 2、他的特点在哪 Java语…...
Linux GPSD的使用
目录 1: GPSD 运行状态查看 2:停止GPSD 服务 3: GPSD运行输出(协议的识别) 4:开启的服务...
ArrayList无参构造添加元素源码解读
一、ArrayList无参构造add方法源码阅读 Test//无参构造源码阅读 public void testArrayListNoConstructorAdd(){ArrayList<Integer> arrayList new ArrayList<>();ArrayList<Integer> list new ArrayList<>();arrayList.add(1);arrayList.add(12);a…...
手写简易 Spring(二)
文章目录手写简易 Spring(二)1. 扩展 BeanFactory 接口2. 实现资源加载器,从 Spring.xml 解析和注册 Bean 对象1. 核心实现类 XmlBeanDefinitionReader3. 实现应用上下文,自动识别、资源加载、扩展机制1. 应用上下文2. 核心实现类…...
排列问题DFS入门
1、题目描述(全排列) 输入一个正整数n,输出1~n的全排列。 输入格式 一个正整数n。 输出格式 所有1~n的全排列,每个排列占一行。 样例输入 3 样例输出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 算法思路 题目要求输出n的全…...
【每日一题Day159】LC1638统计只差一个字符的子串数目 | 枚举
统计只差一个字符的子串数目【LC1638】 给你两个字符串 s 和 t ,请你找出 s 中的非空子串的数目,这些子串满足替换 一个不同字符 以后,是 t 串的子串。换言之,请你找到 s 和 t 串中 恰好 只有一个字符不同的子字符串对的数目。 比…...
【07 Metadata and VendorTag】
1. Metadata结构及分类 一个 metadata 通过tag,value及 type 来描述。不同的 metadata 分成三类 controls,dynamic 及 static 2. MTK Metadata IMetadata Mtk metadata containerIMetadataConverter Provide mutual conversion for Android camera_metadata and MTK Imetada…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...
python可视化:俄乌战争时间线关键节点与深层原因
俄乌战争时间线可视化分析:关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一,自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具,系统分析这场战争的时间线、关键节点及其背后的深层原因,全面…...
