【Linux】期末复习

《Linux程序设计》各章知识点梳理
第1章

  1. 软件包的管理方式方面,Ubuntu、CentOS的差异
    Ubantu使用APT,CentOS使用YUM

  2. 如何添加一个新用户?
    Useradd new_user_name

  3. 什么是Shell?
    Shell 是一个用 C 语言编写的程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

  4. 如何查看一条命令的帮助文档?
    man 命令

  5. ls命令的各种选项

  6. -l(长格式):以长格式列出信息,包括文件权限、所有者、大小和最后修改时间。
    ls -l

  7. -a(所有文件):显示所有文件和目录,包括以点(.)开头的隐藏文件。
    ls -a

  8. -h(易读格式):与 -l 结合使用时,以易读的格式显示文件大小(例如,以 K、M 或 G 显示)。
    ls -lh

  9. -t:按修改时间排序,通常与 -l 结合使用。
    ls -lt

  10. -d:仅显示目录本身的信息,而不是目录内容。
    ls -d mydir

  11. -p:在每个文件或目录名后添加一个斜杠(/),以区分文件和目录。
    ls -p

  12. -i:显示文件的 inode 号。
    ls -i

  13. 建立、复制、删除目录
    建立:mkdir
    复制:cp -r src dst
    删除:rm -r(通用)、rmdir(删除空目录)

  14. cd命令,如何进入特定的目录,例如主目录、上一层目录等?
    进入主目录:Cd ~
    进入上一层:cd …

  15. chmod命令,修改权限
    chmod 777

  16. grep与正则表达式
    头,$尾,[a-z],[a-z]非

  17. sort命令
     sort filename.txt
    将 filename.txt 文件中的行输出到标准输出,按字典序排序。

  18. wc命令,管道的使用
    wc -l 统计行数
    wc -c 统计字节
    wc -m 统计字符
    wc -w 统计单词
    管道:|

  19. pwd与PWD
    pwd 是一个命令,显示当前目录
    PWD 是环境变量,显示的也是当前目录的完整路径

  20. 各种压缩命令,特别是tar命令
     文件归档
    tar [cx][zj][v]f filename [filelist]
    • c: 创建归档
    • x:展开归档
    • z:调用gzip对归档压缩/解压
    • j:调用bzip2对归档压缩/解压
    • v:显示冗余信息

  21. find命令
     find — 文件搜索
    find [目录] [选项] [动作]
    • -name 按名称查找,可以使用通配符,但必须使用引号括起来
    • -type 按类型查找
    • -exec 将查找到的目标进行进一步处理,exec后跟随处理命令,命令中通过 {} 引用被找的文件,而且命令必须以 “ ;”结束

  22. mv命令,移动与改名
    移动到不存在的文件就是改名

  23. ln 与 ln -s,符号链接文件与硬链接文件的区别?
    符号链接(ln -s):是一种独立的文件,创建时源文件可以不存在,可以跨文件
    名称 命令 类型 源文件 跨文件系统 备注
    符号链接 ln -s 独立文件 可以不存在 可以
    硬链接 ln 与源文件共享一个inode 必须存在 不可以 不能给目录创建硬链接

  24. head tail cat more
     more 命令用于分页查看文件内容。它一次显示一页内容,你可以按回车键查看下一页,或使用空格键查看下一页的下一行。
     less 命令是一个更强大的 more 命令版本,它允许你前后翻页,并且可以搜索文本。less 也可以用来查看压缩文件和管道输出。
     head 命令用于显示文件的开始部分,默认情况下显示前 10 行。
     tail 命令用于显示文件的末尾部分,默认情况下显示最后 10 行。

  25. bc计算,与echo命令搭配,如何做计算?如何做小数或浮点数的运算?
    qiao@qiao-virtual-machine:~/workspace$ echo “scale=3; (12.3 + 4.56) * 7.8” | bc
    131.508

  26. ps -l命令、ps -ef命令
     查看进程—ps
    ps [-lauxwm]
    • l:以长列表形式显示
    • w:以加宽格式显示
    • a:显示所有用户进程
    • u:按用户名和启动时间的顺序显示进程
    • x:显示无控制台进程
    • ef:全部进程+完整信息
    常用组合:-aux 显示所有进程
     进程监控—top

  27. who、free
    who:显示当前在线用户
    free:显示内存信息

  28. kill命令及kill函数(C语言)
    命令:kill -SIGKILL PID
    C语言:int kill(pid_t pid, int sig);

  29. 大写的PWD、PATH、HOME、USER分别表示什么含义?
     PWD:当前工作目录路径
     PATH:命令执行路径
     HOME:用户主目录
     USER:用户登录名

  30. Shell元字符*、?、[]、{}、~的使用方法

  31. 重定向> >> < ,命令的后台执行、顺序执行分别用什么?

: 输出重定向,会清空文件内容

输出重定向,不会清空文件内容
< 输入重定向
后台执行:&
顺序执行:管道,分号隔开

  1. vim有哪几种工作模式?命令模式、末行模式的各种基本操作
    三种:输入模式,上述两种
    命令模式:dd删除、p粘贴、yy复制
    末行模式:wq保存退出、q不保存退出、q!强制退出

  2. Linux文件系统中,有一些默认的目录,例如/etc、/dev等,它们分别存放什么文件?
    /etc: 存放配置文件
    /dev: 存放设备文件

  3. /etc/passwd是什么文件?文件的内容有哪些?
    存放用户信息

  4. 如何利用管道将多个命令连接起来完成一个指定的任务,例如“统计所有普通文件所含有的字符数”、“统计所有普通文件的个数”
    cat file_name | wc -m
    find -type f | wc -l
    第2章

  5. bash脚本的第一行
    幻数,内核程序用以标识这是脚本程序

  6. shell脚本中,$0 $1 $2 $# $* $?的含义
    变量名 含义
    $? 最后一次执行命令的返回码
    $$ 当前脚本自己的PID
    $# 命令行参数的个数
    $0 脚本文件本身的名字
    $1, 2 … 第一、第二个命令行参数“ 2… 第一、第二个命令行参数 “ 2第一、第二个命令行参数*” 将所有命令行参数作为一个整体单词看待
    “$@” 将命令行参数作为多个单词看待

  7. Shell编程例题
    #!/bin/bash 幻数
    echo -n enter filename: 不输出换行符,打印enter filename
    read fname 读入文件名存入fname
    echo -n enter words:
    read words
    echo w o r d s 2 > / d e v / n u l l > words 2>/dev/null > words2>/dev/null>fname输出刚读入的words,不输出错误信息,将words内容重定向到fname
    if [ $? –eq 0 ]如果上一条echo命令的返回码为0(也就是成功执行)
    then
    echo Write successfully
    else
    echo write error
    fi

  8. 知道()、{}、[]、[[]]、 (())的使用方法  () 子shell中执行  如果是arr=(1,2,3),那就是数组赋值  {} 本shell中执行、声明数组、{1..4}生成1-4  上述两个都可以成组命令,使用 && 、||  [] 测试条件  [[]] 更复杂的条件测试,可以对于字符串操作、算数比较  命令替换
     (()) 执行算术运算

  9. echo “ i ”与 e c h o ‘ i” 与 echo ‘ iechoi’的执行结果的区别
    “” 会替换i变量的值,’’ 不会

  10. read命令,read $xyz是否正确?
    错误,read读入的应该是变量,而不是环境变量

  11. 牢固掌握if语句的用法

  12. shell下如何做字符串拼接?
    echo “$word1 $word2”

  13. 如何判断一个变量是文件还是目录,-e -s的含义
     -f 普通文件 、-d 目录
     -s 文件大小非零
     -r 可读 -w 可写 -x 可执行
     -L/h 符号链接文件

  14. 字符串、表达式的比较

  15. for循环,for循环的C语言风格写法

  16. while循环,无限循环,怎么写?

  17. case语句

  18. break

  19. continue

  20. 数组,a=(one two three four)是什么含义?如何输出数组的每个元素?如何获取数组的元素个数?
    echo ${a[@]}
    echo “数组元素个数为: ${#my_array[@]}”

  21. 斐波那契数列的构造及其求和。

注:下列内容中,系统调用与函数在说法上没有加以区分。
第3章

  1. gcc -c的含义

  2. gcc编译过程包括哪些步骤,其中的链接步骤指的是什么?
     预处理(-E,*.i):宏替换
     编译(-S, *.s):C语言转为汇编代码
     汇编(-c, *.o):汇编代码转为机器代码
     链接(gcc):将机器代码和库文件链接

  3. 静态库与共享库的不同之处是什么?
    静态库:链接时,库成为代码的一部分
    共享库:运行时将库引用插入,库的代码不复制,需要用到时,操作系统加载

  4. make命令的功能、好处?makefile、Makefile的作用,基本结构?
    功能:自动化编译、
    好处: 节省时间
    结构:
    目标文件:依赖文件
    命令
    第4章

  5. 时间函数(asctime、localtime、time)的使用方法
     time_t time(time_t *t) 系统调用,返回自1970.1.1午夜以来流失的秒数。
     struct tm * localtime(const time_t * t)
     char * asctime(const struct tm *tp) 和 char * ctime(const time_t * t) 都是将指定时间转换为字符形式的时间,长度大概26个字母。

  6. tm结构的基本属性
    tm_mday tm_mon

  7. 如何在C语言中输出当前的时间?(不使用system或exec函数族)

  8. 什么是用户空间、什么是内核空间?
     系统调用在内核空间,是系统内核的所在区域
     库函数调用在用户空间,是普通程序的内存区域

  9. getenv函数与env命令
    都是获取环境变量
    第5章

  10. 什么是系统调用、什么是函数?
    系统调用:是面向硬件的调用,无缓冲区
    函数:是程序的api

  11. chmod函数

  12. umask函数的作用、umask命令的使用方法
    mode_t umask(mode_t cmask)
    修改当前进程环境的权限掩码为 cmask:八进制值
    返回修改之前的掩码。

  13. stat结构体与stat函数、stat命令的联系、各自的功能。
    Stat:描述文件其他属性。
    int stat(const char *path, struct stat *buf) 获取指定文件文件的属性信息,并填充到buf。

  14. 如何根据stat结构体获得文件的类型、权限等信息?
    先创建一个struct stat结构体,然后使用stat()函数,通过路径,传到stat结构体中。

  15. 文件描述符与文件指针的区别,各自的应用环境
    文件描述符(File Descriptor):是一个代表打开文件的整数,由操作系统分配。它用于在系统调用中引用文件。
    文件指针(File Pointer):是一个指向文件当前读取或写入位置的指针。它由程序内部维护,用于顺序访问。

  16. open、close、read、write要非常熟悉。读文件、读键盘、输出到屏幕、输出到文件操作要熟悉。
    open(path,flags):从path按照flags模式打开文件
    close()
    read(fd, buf, count):从fd中读取count字节到buf
    write():写入buf

  17. open文件时如果采用O_NONBLOCK方式,则后续的效果是怎么样的?
    非阻塞:如果打开不成功,立即返回

  18. open文件时,O_TRUNC、O_WRONLY是什么方式?
    清空、只读

  19. 如何利用C语言实现文件的复制?如何编写属于自己的命令程序,mycp ?
     先用open打开两个文件给予相应权限,一个read循环,在这个循环中进行write
     将可执行文件添加到$PATH后面

  20. opendir、readdir、closedir是用来做什么的?
    打开目录
    经常使用opendir获得一个目录,然后使用readdir进行while循环,其间使用structdirent* entry 进行读取名称,如果想获得其他属性,需要使用struct stat file_stat进行读取(一定不是指针),最后使用closedir

  21. 如何将指定目录下的文件或目录的详细信息(名称、类型、大小、修改时间等)列举出来?
    同11
    第6章

  22. 进程的基本概念
    进程是运行的程序,是动态的,是操作系统分配和调度资源的基本单位

  23. 如何获得进程的PID、PPID?
    Getpid()
    Getppid()
    unistd.h

  24. 熟练掌握fork函数的用法
    =0为子进程,>0为父进程,<0为出错

  25. 父子进程如何交替执行?
    Wait()、sleep()

  26. 什么是僵尸进程、什么是孤儿进程,由谁来回收?
    僵尸进程:一个进程已经终止,但是父进程未对其PCB进行释放
    孤儿进程:使用fork创建的子进程,父进程先于子进程销毁,由init/systemd回收

  27. sleep函数的作用?
    挂起进程,秒

  28. 如何避免僵尸进程,wait函数、waitpid函数的多种用法
    避免:在父进程中使用 wait() 或 waitpid() 函数来回收子进程的状态信息。

  29. 如何产生多个进程,而不发生僵尸进程,进程号之间彼此有什么关联?
    For循环产生,但是每个父进程都使用wait()等待子进程。
    子进程的ps中可以找到父进程pid

  30. WIFEXITED、WEXITSTATUS两个宏是用来做什么的?
    1->是否正常退出
    2->正常退出的返回值

  31. 什么是SIGCHILD信号,有什么作用?
    SIGCHILD 信号是当一个子进程结束时,操作系统发送给父进程的信号。

  32. 父进程如何给其子进程发送信号,通过什么函数?kill函数与raise函数的区别是什么?
    通过kill。
     区别:
     Kill可以发给任何程序,只要权限够
     Raise信号发给自己

  33. 守护进程的特点是什么?如何产生一个守护进程?产生守护进程的每个步骤的作用分别是什么?
     特点:
     长期运行在后台
     周期性执行任务
     产生 & 作用:
     创建子进程,终止父进程:子进程就是守护进程
     在子进程中创建新会话:确保守护进程不附属于任何会话,不拥有终端
     改变到安全的工作目录:防止目录被删除
     重设工作掩码:确保守护进程创建的文件有合适的权限
     关闭文件描述符:防止守护进程对终端的输出,以及避免文件描述符泄露,确保守护进程不会对用户的文件系统造成影响。

  34. 什么是进程组、什么是会话组?
    会话是一组进程的高级集合,会话中的进程共享一个会话 ID(SID)。

  35. 守护进程是孤儿进程吗?
    不是
     守护进程不会被回收
     也有父进程(init进程)

  36. 如何编写简单的守护进程?例如周期性地向指定文件中写入当前的最新时间、如何监督检查指定文件是否被修改过?

  37. system函数与exec函数族的使用方法,区别

  38. exec函数族中execl、execv在使用时,参数方面有何区别?

 exec函数族格式
 char *const ps_argv[] ={“ps”, “-o”, “pid,ppid,pgrp,session,tpgid,comm”, NULL};
 char *const ps_envp[] ={“PATH=/bin:/usr/bin”, “TERM=console”, NULL};
 execl(“/bin/ps”, “ps”, “-o”, “pid,ppid,pgrp,session,tpgid,comm”, NULL);
 execv(“/bin/ps”, ps_argv);
 execle(“/bin/ps”, “ps”, “-o”, “pid,ppid,pgrp,session,tpgid,comm”, NULL, ps_envp)
 execve(“/bin/ps”, ps_argv, ps_envp);
 execlp(“ps”, “ps”, “-o”, “pid,ppid,pgrp,session,tpgid,comm”, NULL);
 execvp(“ps”, ps_argv);

第7章

  1. 进程间通信的几种方式是什么?
    管道、System V IPC和套接字

  2. 用户进程对于信号响应的方式有哪些?如何编程实现?

  3. alarm函数
    int alarm(int second)
    设定一个定时器,在指定秒数后向进程自身发送一个SIGALRM信号,该信号默认处理是终止当前进程。

  4. signal函数的用法
    先定义signal_handler,进行信号处理;再使用signal(发生信号,处理函数)进行注册,然后使用。

  5. 当前进程如何在收到某一特定的信号(例如SIGINT)后,不执行默认的操作,转而执行自定义的操作?
    自定义操作函数,传入signal 的第二个参数

  6. SIGKILL与SIGSTOP的特殊性在哪里?SIGINT、SIGQUIT、SIGTERM的共同点是什么?
    SIGKILL 的特殊性
    • 不可捕捉:SIGKILL(信号编号 9)是一个强制杀死进程的信号,进程不能捕捉或忽略它。
    • 立即终止:接收到 SIGKILL 的进程将立即终止,不会执行任何清理操作。
    • 系统使用:通常由操作系统或 root 用户用来终止那些不响应其他信号的进程。
    SIGSTOP 的特殊性
    • 不可忽略:SIGSTOP(信号编号 19)用于暂停进程的执行,进程不能捕捉或忽略它。
    • 停止进程:进程接收到 SIGSTOP 后将停止运行,直到接收到 SIGCONT 信号恢复执行。
    • 单向通信:SIGSTOP 只能由发送者控制,接收进程无法控制何时恢复。
    SIGINT、SIGQUIT、SIGTERM 的共同点
    • 可捕捉:这些信号都可以被进程捕捉,进程可以定义自己的信号处理函数来响应这些信号。
    • 终止进程:它们的默认行为都是终止进程,但允许进程通过捕捉信号来执行清理操作。
    • 用户生成:这些信号通常由用户生成,例如 SIGINT 可以通过 Ctrl+C 生成,SIGQUIT 可以通过 Ctrl+\ 生成。
    • 默认行为:它们的默认行为是终止进程,但进程可以通过捕捉信号并执行特定的清理操作来改变这一行为。
    SIGINT
    • 中断信号:通常与 Ctrl+C 关联,用于请求进程终止。
    SIGQUIT
    • 退出信号:通常与 Ctrl+\ 关联,用于请求进程终止并生成核心转储(core dump),用于调试。
    SIGTERM
    • 终止信号:是一个通用的终止信号,用于请求进程正常终止并执行清理操作。

  7. 什么是管道?什么是匿名管道、什么是命名管道,各自的应用场景是什么?
     管道是Unix最早支持的IPC形式。
     匿名管道:只能在亲缘进程之间通信
     命名管道:借助于外存解除普通管道只能在同源进程使用的限制

  8. 如何利用pipe系统调用实现父子进程的管道通信?
     父进程关闭读端,fd[0],使用write向fd[1]中写
     子进程关闭写端,fd[1],使用read从fd[0]读

  9. 如何利用匿名管道让父进程写文件、子进程读文件?如何使用dup2函数让操作变得更简单?
     父进程关闭读端,fd[0],利用dup2(fd[0], 0)将管道写端和标准输出流连接
     子进程关闭写端,fd[1],利用dup2(fd[1], 1)将管道读端和标准输入流连接

  10. 命名管道文件的类型是以什么开头的?
    /dev/

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

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

相关文章

Milvus向量数据库:高效处理海量非结构化数据的利器

一、引言 随着数据量的爆炸式增长&#xff0c;如何高效地存储、管理和查询海量非结构化数据成为数据科学和人工智能领域的一个重大挑战。传统的关系型数据库在处理这种类型的数据时显得力不从心&#xff0c;而向量数据库作为一种新型的数据库解决方案&#xff0c;提供了极大的…

PAT-1004 成绩排名(java实现)

这一关感觉还没第三关难&#xff0c;思路很清晰 题目 1004 成绩排名 读入 n&#xff08;>0&#xff09;名学生的姓名、学号、成绩&#xff0c;分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式&#xff1a; 每个测试输入包含 1 个测试用例&#xff0c;格式为 第 1 行…

【算法】宵暗的妖怪

✨题目链接&#xff1a; 宵暗的妖怪 ✨题目描述 露米娅作为宵暗的妖怪&#xff0c;非常喜欢吞噬黑暗。这天&#xff0c;她来到了一条路上&#xff0c;准备吞噬这条路上的黑暗。这条道路一共被分为n 部分&#xff0c;每个部分上的黑暗数量为ai 。露米娅每次可以任取 连续的 未被…

赚钱其实没有秘密,多琢磨一下不丢人

为什么学了很多知识还是挣不到钱&#xff1f; 挣不到钱&#xff0c;是因为你不够稀缺&#xff1b;挣钱太少&#xff0c;是因为你不懂杠杆&#xff0c;用杠杆撬动稀缺&#xff0c;个人价值自然水涨船高。 学富五车&#xff0c;为何财库依旧空空&#xff1f;怎样才能提高挣钱的…

在全志H616核桃派开发板上配置SSH远程终端方法详解

熟悉指令用户可以对已经联网的核桃派进行局域网SSH远程终端控制&#xff0c;方便使用自己的PC对核桃派远程进行各种指令操作。 普通用户&#xff08;默认&#xff09; 账号&#xff1a;pi ; 密码&#xff1a;pi管理员账户 账号&#xff1a;root ; 密码&#xff1a;root 在这之…

在Android Studio中使用谷歌Gemini代码助手

今天在做android开发的时候&#xff0c;一个项目使用到了gradle8.0&#xff0c;但是我的Android Studuio根本不支持&#xff0c;无可奈何只能从小蜜蜂版本升级了水母 | 2023.3.1版本&#xff0c;但突然发现AS已经集成了Gemini助手。 首先我们需要下载这个版本的&#xff1a; h…

2.5Bump Mapping 凹凸映射

一、Bump Mapping 介绍 我们想要在屏幕上绘制物体的细节&#xff0c;从尺度上讲&#xff0c;一个物体的细节分为&#xff1a;宏观、中观、微观宏观尺度中其特征会覆盖多个像素&#xff0c;中观尺度只覆盖几个像素&#xff0c;微观尺度的特征就会小于一个像素宏观尺度是由顶点或…

JDBC常见异常(10)—预编译模式下占位符动态排序字段失效

场景需求 需要根据不同的列进行对应的排序操作&#xff0c;实现动态列名排序 类似&#x1f41f;动态查询或更新 但是JDBC预编译模式下占位符的排序字段失效 SQL语句 分页查询 select * from (select t.*, rownum rn from(select * from emp order by empno desc) t where …

《java数据结构》--一篇解决二叉搜索树!!

&#x1f638;二叉搜索树的概念 二叉搜索树又名二叉排序树&#xff0c;一般具有以下性质&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉…

C语言高级编程及实例剖析.pdf

C语言高级编程及实例剖析.pdf C语言&#xff0c;作为一种经典且强大的编程语言&#xff0c;已经在多个领域得到广泛应用。然而&#xff0c;要想真正掌握C语言的高级编程技巧&#xff0c;却并非易事。本文将深入探讨C语言的高级编程技巧&#xff0c;并结合实例进行详细剖析&…

61. UE5 RPG 实现敌人近战攻击技能和转向攻击

在前面&#xff0c;我们实现了敌人的AI系统&#xff0c;敌人可以根据自身的职业进行匹配对应的攻击方式。比如近战战士会靠近目标后进行攻击然后躲避目标的攻击接着进行攻击。我们实现了敌人的AI行为&#xff0c;但是现在还没有实现需要释放的技能&#xff0c;接下来&#xff0…

HTML5 音频 Audio 标签详解

HTML5 引入了 <audio> 标签&#xff0c;允许开发者在网页中直接嵌入音频文件&#xff0c;而不需要依赖第三方插件。本文将全面介绍 <audio> 标签的各种属性&#xff0c;并通过实例代码详细说明其用法。 一、基础用法 1. 基本结构 HTML5 中使用 <audio> 标…

通过定时器和脉冲控制LED

目录 一、定时器 &#xff08;一&#xff09;定时器简介 &#xff08;二&#xff09;定时器类型 1、常见定时器 2、定时器的主要功能 3、常规定时器 &#xff08;三&#xff09;定时器配置 1、定时器标准外设库接口函数 2、定时器标准外设库配置 二、PWM &#xff08…

匿名函数(lambda)

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 匿名函数是指没有名字的函数&#xff0c;应用在需要一个函数&#xff0c;但是又不想费神去命名这个函数的场合。通常情况下&#xff0c;这样的函数只…

【Qt】Qt界面美化指南:深入理解QSS样式表的应用与实践

文章目录 前言&#xff1a;1. 背景介绍2. 基本语法3. QSS 设置方式3.1. 设置全局样式3.2. 从文件加载样式表3.3. 使用 Qt Designer 编辑样式 总结&#xff1a; 前言&#xff1a; 在当今这个视觉至上的时代&#xff0c;用户界面&#xff08;UI&#xff09;的设计对于任何软件产…

智能制造案例专题|与MongoDB一起解锁工业4.0转型与增长的无限潜力!

MongoDB 智能制造 数字化技术的洪流在各个产业链的主干和枝节涌现。在工业制造领域&#xff0c;能否通过数字化技术实现各生产要素、生产环节之间的紧密配合&#xff0c;高效规划、管理整个生产流程&#xff0c;是企业提升韧性、赢得竞争的关键。随着工业4.0的深入发展和智能…

高级Java开发者的自我修养:深入剖析JVM垃圾回收机制及面试要点

在探索Java虚拟机&#xff08;JVM&#xff09;的奥秘过程中&#xff0c;垃圾回收机制&#xff08;GC&#xff09;是一个不可或缺的话题&#xff0c;尤其在面对大型应用和系统优化时显得尤为重要。JVM的自动内存管理是Java编程语言中一项革命性的特性&#xff0c;它大大简化了程…

测试记录2:Ubuntu工程直接添加使用Eigen3源文件

直接将Eigen3源文件放入到工程目录下使用&#xff0c;免安装 1.新建空文件夹Test_eigen 2.创建将eigen下载的文件夹解压&#xff0c;重命名为eigen3放入到Test_eigen 3.进入Test_eigen&#xff0c;创建main.cpp #include <iostream> #include <Eigen/Eigen>int m…

AI盒子在智慧加油站的应用

方案背景 为规范加油站作业&#xff0c;保障人民生命财产安全&#xff0c;《加油站作业安全规范》&#xff08;AQ 3010-2007&#xff09;中第五条规定&#xff1a;卸油作业基本要求&#xff0c;明确防静电、防雷电、防火、人员值守、禁止其他车辆及非工作人员进入卸油区。 痛点…

数据结构基础篇(4)

十六.循环链表 概念 循环链表是一种头尾相接的链表&#xff08;最后一个结点的指针域指向头结点&#xff0c;整个链表形成一个环&#xff09;优点 从表任一结点出发均可找到表中其他结点判断终止 由于循环链表中没有NULL指针&#xff0c;所以涉及遍历操作时&#xff0c;终止条…