0基础带你入门Linux之简介


1.Linux和Windows对比

Window很明显的特征就是有C盘、D盘登各种磁盘

我们通过点击不同的盘符,点击里面存储的文件进行查阅的操作

而Linux则很简单,只有一个根目录,也可以说只有一个盘,整个系统所有的东西都是在根目录下的

我们可以发现根目录里面有很多文件

我们需要通过命令才能进到文件夹里面,下面是通过cd,进入home目录里面

下面的图就是对根目录进行介绍的

比如说/home是用户的家目录

在Linux系统中就是纯命令的操作,没有像Windows界面一样有软件图形的内容

这两个系统还有着用户管理的差别

Windows上用户概念很模糊,但是Linux上就会经常使用到

Linux通过用户权限来指定不同不的用户对文件的使用权限

而且这两个系统的应用方式是不一样的

Windows更多是代替纸质书写的办公,提升日常生活工作的交流效率

Linux一开始很大程度上就面对网络服务,所以Linux是可以随便换桌面的,Linux也有很多不同的桌面系统

Linux虚拟机的版本很多,红帽子、centos以及我用的ubuntu

2.基本常用命令

主要是下面的三个内容,剩下的内容都是分化出去的

who ---我是谁

询问当前登录的用户名是谁

pts/0指的是远程连接

tty表示用户直连主机

bd@clem:/home$ who
bd       pts/0        2024-09-10 15:07 (10.0.2.2)

我们又启动一个乌班图,我们会发现我们这里会有两个连接的

pwd---我在哪里

bd@clem:/home$ pwd
/home

查看我们当前的位置,看我当前在那个文件夹的路径下,找到对应的路径

cd----我去哪里

bd@clem:~/environment$ cd /
bd@clem:/$ pwd
/

cd /跳转到根目录

pwd查询现在我在哪里

现在我们想去到home目录的bd文件夹里面

bd@clem:/$ cd /home/bd
bd@clem:~$ pwd
/home/bd

cd--直接回到家目录

除了上面的方法,我们还有一种更加快捷的方法

我们在根目录直接输入cd

然后回车pwd查看当前位置

就显示我们到了家目录

就是直接输入cd进行回车我们就到了家目录了

我们可以用pwd进行查看当前位置的,确实是到了家目录的

家目录就是用户登录的文件夹,我们现在登录的是bd用户,那么我们就来到了以bd进行命名的文件夹

我们在Linux系统中创建用户的时候,会在home文件夹中生成我们创建的用户文件夹

这个地址就是家目录

/home/bd

bd@clem:~$ cd /
bd@clem:/$ pwd
/
bd@clem:/$ cd
bd@clem:~$ pwd
/home/bd
bd@clem:~$

我们是可以发现家目录和根目录的符号是不一样的

家目录的符号是~

根目录的符号是/

家目录下的environment

而且我们的cd和后面的/需要一个空格,不然这个命令是无效的

cd - 返回到上步操作的位置

bd@clem:~$ cd environment/
bd@clem:~/environment$ cd /
bd@clem:/$ cd -
/home/bd/environment
bd@clem:~/environment$ pwd
/home/bd/environment
bd@clem:~/environment$

我们先在根目录的,然后cd 回到家目录

然后使用cd -又回到了根目录

bd@clem:/$ cd /
bd@clem:/$ pwd
/
bd@clem:/$ cd
bd@clem:~$ pwd
/home/bd
bd@clem:~$ cd -
/
bd@clem:/$

cd -就是回到我们上一步所操作的位置

cd ..就是回到上级目录

我们先输入cd回到家目录,然后进入到家目录里面的文件夹的环境目录

此时我们用pwd查询当前位置,然后直接cd ..

再次查询我们就发现我们回到了上一级目录--家目录里面

bd@clem:/$ cd
bd@clem:~$ cd environment/
bd@clem:~/environment$ pwd
/home/bd/environment
bd@clem:~/environment$ cd ..
bd@clem:~$ pwd
/home/bd
bd@clem:~$

cd+路径---去到指定的路径

bd@clem:/$ cd
bd@clem:~$ cd environment/
bd@clem:~/environment$ pwd
/home/bd/environment

ls

ls -a 查看所有隐藏的文件

进行隐藏文件的查看,只要文件名字前面带上了. 那么这个文件就是隐藏文件了

白色的就是文件,紫色的就是文件夹

我们在一开始进行文件夹的创建

mkdir t 创建了一个叫t的文件夹

bd@clem:~/py_case$ mkdir t
bd@clem:~/py_case$ ls -a
.  ..  t  t1.py  test.py

我们在下面对文件进行cd命令的时候,我们对文件夹是可以的,但是对文件就是会报错的

而且文件一般是带有后缀名的,比如说这里的.py

bd@clem:~$ cd py_case
bd@clem:~/py_case$ cd t
bd@clem:~/py_case/t$ cd t1.py
-bash: cd: t1.py: No such file or directory
bd@clem:~/py_case/t$

ls -l 查看所有文件,列表展示,ls -al查看文件夹内的详细信息

查看文件的详细信息,包括文件类型大小权限等等的信息

drwxrwxr-x 这个是文件的一些权限(可读、可写或者是能去执行)

d开头的是文件夹

r:表示可读取此文件中的实际内容,例如,可以对文件执行 cat、more、less、head、tail 等文件查看命令

w:表示可以编辑、新增或者修改文件中的内容,例如,可以对文件执行 vim、echo 等修改文件数据的命令。

x:表示该文件具有被系统执行的权限,比如常用脚本文件 start.sh,想要运行就需要有执行权限。

在这个drwxrwxr-x 的后面的数字是文件的大小

我们cd到t里面只有两个文件夹,所以下面显示的数字是2(在下面的第三个代码处)

后面的两个py文件是文件那么大小就是1

如果文件名字前面有.的话就是隐藏文件的

后面的两个bd是创建这个文件或者文件夹的用户是谁

再后面的数字就是文件的大小,字节为单位,后面就是年月日了,后面的时间就是最后修改文件的时间,最后就是文件名字了

bd@clem:~$ cd py_case
bd@clem:~/py_case$ cd t
bd@clem:~/py_case/t$ ls -a
.  ..
bd@clem:~/py_case/t$
bd@clem:~$ ls -l
total 8
drwxrwxr-x 3 bd bd 4096 Sep  9 22:47 environment
drwxrwxr-x 2 bd bd 4096 Sep 10 10:05 py_case
bd@clem:~/py_case/t$ cd -
/home/bd/py_case
bd@clem:~/py_case$ ls -al
total 16
drwxrwxr-x  3 bd bd 4096 Sep 10 19:59 .
drwxr-xr-x 11 bd bd 4096 Sep 10 15:39 ..
drwxrwxr-x  2 bd bd 4096 Sep 10 19:59 t
-rw-rw-r--  1 bd bd   33 Sep 10 10:05 t1.py
-rw-rw-r--  1 bd bd    0 Sep 10 10:05 test.py
bd@clem:~/py_case$

d开头的是文件夹

-开头的是文件

l开头的就是链接文件

bd@clem:~/py_case$ cd
bd@clem:~$ cd py_case
bd@clem:~/py_case$ ls -al
total 12
drwxrwxr-x  2 bd bd 4096 Sep 10 10:05 .
drwxr-xr-x 11 bd bd 4096 Sep 10 15:39 ..
-rw-rw-r--  1 bd bd   33 Sep 10 10:05 t1.py
-rw-rw-r--  1 bd bd    0 Sep 10 10:05 test.py
bd@clem:~/py_case$

3.基本文件操作

创建文件、复制文件、删除文件、查看文件以及移动文件

创建文件夹

创文件夹

mkdir---创建目录文件夹

先在家目录里面进行文件夹的创建

bd@clem:/$  cd
bd@clem:~$ cd py_case
bd@clem:~/py_case$ cd
bd@clem:~$ ls
environment  py_case
bd@clem:~$ mkdir 68
bd@clem:~$ ls
68  environment  py_case

touch---文件的创建

使用touch在家目录进行文件的创建,我们通过ls能发现家目录里面有3个文件夹和一个文件

bd@clem:~$ ls
68  environment  py_case
bd@clem:~$ touch kaizi
bd@clem:~$ ls
68  environment  kaizi  py_case
bd@clem:~$

我们又在68这个文件里面创建了一个文件,通过ls我们能发现此时的68这个文件夹里面有个kaizi 的文件

bd@clem:~$ cd 68
bd@clem:~/68$ touch kaizi
bd@clem:~/68$ ls
kaizi
bd@clem:~/68$

我们在这个68的文件夹里面又创建了一个文件夹,通过这个68我们能看到这个68这个文件夹的构造

bd@clem:~/68$ mkdir l
bd@clem:~/68$ ls
kaizi  l

文件和文件夹的颜色是完全不一样的,肉眼可见

echo 在创建文件夹的时候同时进行数据的撰写

echo '文本'>创建的新文件名

我们会创建这个文件并且将前面的文本进行写入的操作

bd@clem:~$ cd 68
bd@clem:~/68$ ls
kaizi  l
bd@clem:~/68$ echo 'hipython'>test.txt
bd@clem:~/68$ ls
kaizi  l  test.txt
bd@clem:~/68$ cat test.txt
hipython
bd@clem:~/68$

我们在68这个文件夹中不仅创建了一个叫test.txt的文件,而且在里面进行了文本的输入

我们然后通过cat进行文件内容的查询

就能看到我们刚刚写入的内容了

我们对kaizi这个文件进行查询里面的数据,返回的是个空的,因为我们当初创建的是个空的文件夹

bd@clem:~/68$ cat kaizi
bd@clem:~/68$

cat---文件的内容查看(包括文件夹中的文件)

bd@clem:~/py_case$ ls
t  t1.py  test.py
bd@clem:~/py_case$ cat t1.py
print(123)
print(56)
print(567)bd@clem:~/py_case$ cd ..
bd@clem:~$ cd 68
bd@clem:~/68$ ls
kaizi  l
bd@clem:~/68$ echo 'hipython'>test.txt
bd@clem:~/68$ ls
kaizi  l  test.txt
bd@clem:~/68$ cat test.txt
hipython
bd@clem:~/68$ ^C
bd@clem:~/68$ cat kaizi
bd@clem:~/68$ ^C
bd@clem:~/68$

进行文件内的文本进行查看,进行文件夹内的文件进行查看都是可以的

通过cat实现查看功能

cp---文件的复制操作

cp 要复制的文件 复制到哪里

bd@clem:~/68$ ls
kaizi  l  test.txt
bd@clem:~/68$ cp test.txt l
bd@clem:~/68$ cd l
bd@clem:~/68/l$ ls
test.txt
bd@clem:~/68/l$ cat test.txt
hipython
bd@clem:~/68/l$

我们的68这个文件夹里面有两个文件和一个文件夹

我们现在将test.txt这个文件复制到l这个文件夹里面

cp test.txt l直接回车

我们cd l进入到l里面

ls发现test.txt文件成功进行了复制操作

然后cat test.txt对这个文件内的文本数据进行查看,发现是我们之前进行输入的文本

cp -i 对用户进行一个提示,文件夹内已经存在该文件,是否继续进行复制的操作

bd@clem:~/68$ ls
kaizi  l  test.txt
bd@clem:~/68$ cp -i test.txt l
cp: overwrite 'l/test.txt'? n
bd@clem:~/68$

如果我们想在复制的时候出现提示的话,我们就在cp后面加上 -i

cp -i test.txt l 回车 系统就会提示你,已经存在了这个文件,你是否要继续进行复制

回答可以选择yes或者no

直接写简写就行了y和n

mv---文件的移动操作以及文件的重命名操作

现在我们想把kaizi这个文件移动到l里面去

bd@clem:~/68$ ls
kaizi  l  test.txt
bd@clem:~/68$ mv kaizi l
bd@clem:~/68$ ls
l  test.txt
bd@clem:~/68$ cd l
bd@clem:~/68/l$ ls
kaizi  test.txt
bd@clem:~/68/l$

一开始我们的68里面存在2个文件和一个文件夹(kaizi l test.txt)

然后我们利用mv将kaizi移动到l这个文件夹里面

移动之后我们cd到l这个文件夹内

ls看看里数据

可以看见我们的kaizi这个文件已经被移动到了l这个文件夹里面了

除了移动的操作,我们还能进行文件的重命名操作,也是使用mv

mv 旧文件名 新文件名

bd@clem:~/68/l$ ls
kaizi  test.txt
bd@clem:~/68/l$ ^C
bd@clem:~/68/l$ mv kaizi 凯子
bd@clem:~/68/l$ ls
test.txt  凯子
bd@clem:~/68/l$

一开始的ls存在两个文件 kaizi test.txt

然后我们利用mv将kaizi这个文件的名字进行修改的操作,改为凯子

改完之后我们利用ls进行文件的查看

发现名字已经被修改好了

mv后面如果是文件的话就是重命名操作

如果是文件夹的话就会进行移动,因为文件是不能移动到文件里面去的,文件只能移动到文件夹

文件夹也是可以进行修改的,但是在下面我们是不能对文件夹进行重命名的,因为我们的权限是不够的

bd@clem:~/68$ ls
l  test.txt
bd@clem:~/68$ pwd
/home/bd/68
bd@clem:~/68$ mv 68 69
mv: cannot stat '68': No such file or directory
bd@clem:~/68$

rm文件的删除

bd@clem:~/68/l$ pwd
/home/bd/68/l
bd@clem:~/68/l$ ls
test.txt  凯子
bd@clem:~/68/l$ rm 凯子
bd@clem:~/68/l$ ls
test.txt
bd@clem:~/68/l$

我们的l这个文件夹里面本来有两个文件的 test.txt和凯子

然后我们将凯子这个文件进行删除操作

rm 凯子 直接回车,

然后我们ls进行文件的查看,发现l里面确实已经将凯子这个文件进行了删除操作了

bd@clem:~$ cd 68
bd@clem:~/68$ ls
l  test.txt
bd@clem:~/68$ cd l
bd@clem:~/68/l$ ls
test.txt
bd@clem:~/68/l$ cd -
/home/bd/68
bd@clem:~/68$ ls -l
total 8
drwxrwxr-x 2 bd bd 4096 Sep 11 13:04 l
-rw-rw-r-- 1 bd bd    9 Sep 10 20:58 test.txt
bd@clem:~/68$ rm l
rm: cannot remove 'l': Is a directory
bd@clem:~/68$

我们这里的ls之前往里面放了一个复制的test.txt文件

现在我们执行删除l的操作,发现是无法进行删除的

是因为文件夹里面存在东西,那么就不能进行删除

rmdir---删除空文件夹

我们还能使用下面的操作进行删除操作,使用rmdir

但是这个文件夹里面存在文件,所以也是删除失败的

bd@clem:~/68$ rmdir l
rmdir: failed to remove 'l': Directory not empty
bd@clem:~/68$

rm -rf 文件夹名 -- 删除非空文件夹

如果我们真的想将这个文件夹进行删除的操作的话,我们可以使用rm -rf l将l这个文件夹删掉,然后使用ls查看68这个文件夹的内容,我们发现l已经被删除了

bd@clem:~/68$ pwd
/home/bd/68
bd@clem:~/68$ rm -rf l
bd@clem:~/68$ ls
test.txt
bd@clem:~/68$

这种就是删除顽固的文件夹的删除命令

这里面的-rf ,f是强制删除,加上-r就是他会将我们这个文件夹内的东西进行一个一个的删除操作的

使用这个命令的话需要确保这个文件真的不需要用了

4.用户介绍

在Linux系统中,我们分为两种用户---超级管理员和普通用户

root 是Linux管理员,也称为超级用户

bd 是Linux普通用户,在Ubuntu中,root用户被锁定,当需要是使用的时候可以使用sudo来提权

这里的Clem是主机名,相当于Windows上的计算机名。

~ 是当前用户的家目录,家目录就相当于我们window系统盘中的用户目录

是超级用户的提示符,$是普通用户的提示符。

如果我们一直使用管理员系统的话,我们有时候就可能会错误操作,将重要数据删除了

这个就是弊端

因为管理员的权限太高了,所以我们加上了一个普通用户的身份

我们创建的普通用户权限很低,需要root用户进行权限的分配

root用户少用

su切换超级管理用户

我们通过su进行root用户的切换,但是这里为什么会报错呢?

因为我们这是第一次切换root用户进行登录,我们并没有对root用户进行密码的设置

我们需要给root用户设置密码才可以用

root用户密码的设置(passwd root)

我们使用passwd root进行root用户密码的修改操作,但是似乎这个提示信息好像说我们还是不能进行用户密码的修改操作

bd@clem:~/68$ passwd root
passwd: You may not view or modify password information for root.
bd@clem:~/68$

我们当前使用的是bd用户,所以说我们现在还是没有权限进行root用户密码的修改的

bd@clem:~/68$ who
bd       pts/0        2024-09-11 12:19 (10.0.2.2)
bd@clem:~/68$

sudo---临时提高bd用户的权利(当前命令生效)

我们使用sudo临时提高我们现在的权利,但不过只是当前命令生效

bd@clem:~/68$ sudo paddwd root
[sudo] password for bd:
sudo: paddwd: command not found
bd@clem:~/68$ sudo passwd root
New password:
Retype new password:
passwd: password updated successfully
bd@clem:~/68$

我这里的代码是输入错误了,所以按照图片为例

我们先利用sudo进行提权,然后使用passwd root进行root用户密码的修改

然后系统会确认是不是bd用户本人,你输入你的密码

然后就能修改这个root用户的密码了

Retype new password:这个是让你再次输入密码,这里输入密码我们是看不到的

输完密码下面就提醒我们修改成功了

那我们再使用su root进行root用户的切换,看看是否能成功切换

bd@clem:~/68$ su root
Password:
root@clem:/home/bd/68#

这个时候前面的bd就变成了root,那么就说明我们的root用户切换成功了

通过对比,我们能看的出两个用户的区别,root用户的后面是#

bd用户后面是$

root用户切换到普通用户是不需要密码的

root用户只能有1个

普通用户有多个,,普通用户的权限(可以看可以改)

root用户的权限是由root进行分配

普通用户只能做root给的权限内的事情

如果权限不够

方法一:sudo 进行的命令 进行临时提权

方法二:su root登录root用户进行操作

5.硬件管理

输入对应的命令即可进行对应的操作

bd@clem:~/68$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               941M     0  941M   0% /dev
tmpfs                              198M  1.1M  197M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   48G  7.0G   39G  16% /
tmpfs                              986M     0  986M   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              986M     0  986M   0% /sys/fs/cgroup
/dev/sda2                          2.0G  211M  1.6G  12% /boot
/dev/loop0                          64M   64M     0 100% /snap/core20/2318
/dev/loop3                          92M   92M     0 100% /snap/lxd/29619
/dev/loop1                          92M   92M     0 100% /snap/lxd/24061
/dev/loop2                          39M   39M     0 100% /snap/snapd/21759
/dev/loop5                          64M   64M     0 100% /snap/core20/1738
/dev/loop4                          50M   50M     0 100% /snap/snapd/17883
tmpfs                              198M     0  198M   0% /run/user/1000
bd@clem:~/68$

这里了解下就好了

清空的话我们通过du进行清空操作

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

redis基本数据结构-set

文章目录 1. set的基本介绍1.1. set底层结构之hash表的简单介绍1.2. 常用命令 2. 常见的业务场景2.1. 标签系统2.2. 社交网络好友关系 1. set的基本介绍 参考链接:https://mp.weixin.qq.com/s/srkd73bS2n3mjIADLVg72A redis 的 set 数据结构是一个无序的集合&#…

暴雨传染病智能监测预警前置一体机筑牢疾控第一道防线

自新冠疫情爆发以来,疾病防控已成为全球关注的焦点。只有加强监测预警、做到“早发现”才能及时防范和化解传染病疫情。近日,经国务院批准,国家疾控局、国家卫生健康委等九部门联合发布了《关于建立健全智慧化多点触发传染病监测预警体系的指…

信息安全数学基础(12)剩余类及完全剩余系

一、剩余类 定义:设 m 是一个正整数,a 是任意整数。模 m 的 a 的剩余类定义为集合 Ca​{c∣c∈Z,c≡a(modm)}。这个集合包含了所有模 m 余数为 a 的整数。 解释:剩余类实际上是将整数集 Z 分成了 m 个等价类,每个类中的元素在模 m…

大公司与小公司:产品经理的职业抉择与发展之路

在产品经理的职业旅程中,常常面临一个重要的抉择:是选择大公司还是小公司?这个问题困扰着许多初入职场的新人以及寻求职业转型的资深人士。今天,我们就来深入探讨一下大公司与小公司对于产品经理的不同意义,以及如何规…

互相关、相关系数和内积的关系

目录 问题互相关与卷积xcorr互相关xcorr2 2-D cross-correlationconv卷积conv2二维卷积关系与区别xcov互协方差 相关系数cov协方差与协方差矩阵corrcoef相关系数与相关系数矩阵图像均值、标准差和相关系数 内积与相似系数内积(Inner Product)欧几里得空间…

AUTOSAR_EXP_ARAComAPI的5章笔记(6)

返回目录 5.3.5.5 Event-Driven vs Polling-Based access ara::com实现完全支持事件驱动和轮询的方式来访问新数据。 对于轮询方式,典型的用例是,一个应用程序被周期性地触发并在特定的截止时间前进行一些处理。这是调节器/控制算法的典型模式 —— 循…

Visual Studio安装教程

这次我给大家讲一下Visual Studio安装 一、官网下载 官网下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ 下载下来的是一个.exe文件 双击打开,出现下面的界面 二、安装visual studio (一)更改安装路径 首先&am…

如何提升RAG检索的准确率及答案的完整性?

RAG(检索增强生成),重点在于检索,即通过解析文档,然后使用嵌入模型进行向量化,通过欧式距离、向量积乘、最近临等算法来计算向量的相似度,找到与提问语义相似的上下文。然后通过将上下文提交给大…

【LeetCode】每日一题 2024_9_15 与车相交的点(差分)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 今天的题目曾经的我做过了 . . . 又是复习的一天 题目:与车相交的点 代码与解题思路 func numberOfPoints(nums [][]int) (ans int) { diff : [102]int{}for _, p : range nums {diff[p[0]]d…

基于java网吧管理系统设计与实现

博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以…

c++基础入门二

C基础入门(二) 一、函数重载 在自然语言中,一句话或者一个词有不同的意思。例如:国乒和别人比赛是“谁也赢不了”,而国足和别人比赛是“谁也赢不了” 函数重载:是函数的一种特殊情况,C允许在同一作用域中声明几个功…

开放系统,面向各类业务需求可提供定制化服务的智慧物流开源了。

智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。构建基于Ai技术的…

c++中的二叉搜索树

一概念: 静图展示: 动图展示: ①左子树不为空,则左子树节点值小于根节点值。 ②右子树不为空,则右子树节点值大于根节点值。 ③左右子树均为二叉搜索树。 ④对于它可以插入相等的也可以插入不相等的,这里如果插入的…

JavaSE语法阶段复习知识整理3之封装

文章目录 一、封装1.1 封装的概念1.2 访问限定符1.3封装扩展之包 二、static成员2.1static关键字的引入2.2静态成员变量初始化2.3访问静态成员变量2.4用实际问题加深静态成员变量的理解2.5静态成员变量的总结要点2.6静态成员方法的总结要点 三、代码块3.1普通代码块3.2构造代码…

QXDM 如何更新软件?

如何更新QXDM等高通软件?之前做过这个事情,但过几个月给别人讲的时候就忘记了,特做如下记录。 一. 背景知识: 1. QXDM 依赖于Qualcomm package Managers 3(QPM in short)。 目前的时间是2024年9月15日,但不知从何…

学习笔记JVM篇(一)

1、类加载的过程 加载->验证->准备->解析->初始化->使用->卸载 2、JVM内存组成部分(HotSpot) 名称作用特点元空间(JDK8之前在方法区)用于存储类的元数信息,例如名称、方法名、字段等;…

[苍穹外卖]-09Spring Task定时任务

Spring Task spring Task是spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑 只要是需要定时处理的场景都可以使用Spring Task定时任务框架 cron表达式就是一个字符串,可以定义任务触发的时间 构成规则: 分为6或7个域, 由空格隔开,每个域代表一个含义每…

Java 全面指南:从入门到精通

目录 1. 引言 Java 的背景 Java 的起源及历史发展 主要的应用场景 Java 的核心特性 面向对象 跨平台性(JVM 的角色) 自动内存管理与垃圾回收机制 Java 版本与发展历程 Java SE 8, 11, 17 等主要版本特性 新增功能概述(如 Lambda 表…

SpringBoot新技能:零停机更新代码

在个人或者企业服务器上,总归有要更新代码的时候,普通的做法必须先终止原来进程,因为新进程和老进程端口是一个,新进程在启动时候,必定会出现端口占用的情况,但是,还有黑科技可以让两个SpringBo…

【机器学习】--- 深度学习中的注意力机制

深度学习中的注意力机制 在深度学习领域,注意力机制(Attention Mechanism)已经成为近年来最受瞩目的研究热点之一。它不仅提升了现有模型的性能,更启发了全新的网络结构,如Transformer模型。注意力机制被广泛应用于自…