当前位置: 首页 > news >正文

Oracle基础知识

目录

1.别名的使用

2.AND的优先级高于OR

3.where后面可以接别名,order by后面不可以

4.Oracle中SQL的执行顺序(重点)

5.dual万用表

6.是否区分大小写

7.Oracle常用数据类型

8.Oracle常用函数

(1)length字符、lengthb字节和cast强制类型转换

(2)数据类型转换

to_date():将字符串转换为日期类型 

to_char():将日期、时间戳或数字转换为字符串格式

 to_number():将字符串转为数字类型

9.NOT BETWEEN  AND 反向区间

10.NOT IN

11.LIKE模糊查询

12.空值NULL

(1)空值的过滤

(2)空值的排序

(3)空值运算

(4)空值转换NVL与NVL2


1.别名的使用

 别名--数字、字母、下划线组成,不能数字和符号打头 

必须以字母开头;

长度不能超过 30 个字符;

只能包含字母(A-Z、a-z)、数字(0-9)、下划线(_)和美元符号($);

不能使用 Oracle 的保留字(比如:SELECT、FROM、WHERE……);

不能和同一个用户下的其他对象重名;

中文别名,as可以省略

表的别名不能使用as

如果想使用一些特殊字符或不符合上述规则的名称作为别名,可以将别名用双引号括起来。

select ename 员工姓名, sal as "员工薪资", deptno "部门编号"from empwhere job = 'SALESMAN';

2.AND的优先级高于OR

使用括号明确优先级:

SELECT * FROM employees
WHERE (dept_id = 10 OR dept_id = 20) AND salary > 5000;

3.where后面可以接别名,order by后面不可以

具体原因是根据Oracle中SQL的执行顺序来的,详见下面 

4.Oracle中SQL的执行顺序(重点)

  1. FROM:首先确定数据来源,包括表、视图等,并处理任何连接(JOIN)操作。
  2. WHERE:应用过滤条件来筛选行。
  3. GROUP BY:将结果集按指定列分组。
  4. HAVING:对分组后的结果进行条件过滤。
  5. SELECT:选择需要显示的列或表达式,并执行任何计算或函数调用。
  6. ORDER BY:根据指定的列对最终结果进行排序。
  7. OFFSET-FETCH/ROWNUM:限制返回的行数(如分页功能)。注意,OFFSET-FETCH是较新的语法,而ROWNUM是Oracle特有的用于限制结果集大小的方法。

5.dual万用表

dual/万能表/伪表

Oracle 中dual表的存在主要是为了满足语法要求和提供一些便利。

dual表是 Oracle 与数据字典一起自动创建的一个单行单列的虚拟表,它只有一列

虚拟的,不包含任何数据

select 7+9 from dual;select sysdate from dual;

6.是否区分大小写

字符串里面要区分大小写

不区分大小写的:字段名、表名

select * from emp where ename='SCOTT';

select * from emp where ename='scott';

 

7.Oracle常用数据类型

数据类型类别数据类型描述示例/备注
数值类型NUMBER(p,s)

存储固定或浮动的数值,

p是精度(总位数),s是标度(小数点后的位数)。

NUMBER(5,2) 表示最多5位数字,其中2位在小数点之后。
字符串类型VARCHAR2(size)可变长度字符数据类型,size指最大字节长度,范围1到4000字节。

VARCHAR2(100) 最大存储100个字符。

NVARCHAR2(size)类似于VARCHAR2,但使用国家字符集,适用于多语言环境。NVARCHAR2(100) 使用国家字符集存储最多100个字符。
CHAR(size)固定长度字符数据类型,如果插入的字符串短于定义长度,则用空格填充至定义长度CHAR(100) 总是占用100个字符的空间。
NCHAR(size)类似于CHAR,但使用国家字符集。NCHAR(100) 使用国家字符集并总是占用100个字符的空间。
CLOB用于存储大型字符数据,最大可达128TB。适合存储大量的文本数据。
NCLOB用于存储使用国家字符集编码的大型字符数据。与CLOB类似,但支持国家字符集。
日期/时间类型DATE存储日期和时间信息,精确到秒。格式为:世纪、年、月、日、时、分、秒。常用于需要同时记录日期和时间的情况。
TIMESTAMP类似DATE,但提供了更高的时间精度(纳秒级),并可选包含时区信息。TIMESTAMP WITH TIME ZONE 或 TIMESTAMP WITH LOCAL TIME ZONE
大对象类型(LOB)BLOB用于存储二进制大对象,如图像、视频等,最大可达128TB。
BFILE用于存储指向存储在数据库外部文件系统中的大二进制文件的指针。
原始和ROWID类型RAW(size)用于存储二进制数据或字节字符串,必须指定最大长度,范围从1到2000字节。
LONG RAW类似于RAW,但可用于存储更大的二进制数据,最大可达2GB。(不推荐用于新应用)
ROWID存储行的地址,每个表中的每一行都有一个唯一的ROWID。
其他类型BOOLEAN仅在PL/SQL中可用,用于存储逻辑布尔值(TRUE, FALSE, NULL)。注意,在SQL语句中并不直接支持BOOLEAN类型。
XMLType用于存储XML数据,并提供了一系列针对XML的操作函数。

CHAR()和VARCHAR2()区别:

CHAR()始终占用定义的最大长度的存储空间,如果存储的数据长度小于这个长度,会使用空格填充剩余的空间

VARCHAR2()只占用实际字符数据的存储空间,可变长度

8.Oracle常用函数

(1)length字符、lengthb字节和cast强制类型转换

LENGTH(x):返回字符个数 11 'WH' '你好'         -- 文本信息的基本单位

LENGTHB(x):返回字节数                                 -- 数据存储的基本单位

CAST():转换数据类型                                       -- cast('123' as number)

-- 一个英文/数字占用1个字节
-- 一个中文占用2个字节
-- GBK:一个汉字占两个字节
-- utf-8:一个汉字占三个字节

select lengthb('你好') from dual; -- 4select length('你好') from dual; -- 2select length(cast(123 as char(4))) from dual; -- 4SELECT LENGTH(11),   -- 2LENGTH('HH'), -- 2LENGTHB('HH') -- 2
FROM DUAL;

(2)数据类型转换

--隐式转换 会造成索引失效

SELECT ename e1,ENAME E2--字段不区分大小写
FROM EMP
WHERE DEPTNO='10'; -- 错误写法,会导致索引失效
to_date():将字符串转换为日期类型 
TO_DATE(string, format_model)

注意:前后要保持一致。 

TO_DATE 括号里面 年月日必须完整 否则会给一个默认值

select to_date('20250520', 'YYYYMMDD') as a1,to_date('2025-05-20', 'YYYY-MM-DD') as a2from dual;

例题:查询 所有 1982年之前入职的员工薪资,输出:员工姓名   员工入职时间  员工薪资

select EMPNO, hiredate, SALfrom empwhere hiredate < to_date('1982-01-01', 'yyyy-MM-DD')

to_char():将日期、时间戳或数字转换为字符串格式

TO_CHAR 括号里面 可以只取年  只取月  只取日

select hiredate as a1,to_char(hiredate, 'YYYYMMDD') as a2,to_char(hiredate, 'YYYY-MM-DD') as a3,to_char(hiredate, 'MM/DD/YYYY') as a4,to_char(hiredate, 'YYYY') as a5,to_char(hiredate, 'MM/DD') as a6from emp;

使用to_char()查询1982年之前入职的员工: 

select * from emp where to_char(hiredate, 'yyyy') < 1982;select * from emp where to_number(to_char(hiredate, 'yyyy')) < 1982;

将系统当前时间 以年月日的形式展示,并且是日期类型:

-- 思路:
SELECT SYSDATE FROM DUAL;--查看默认时间样式SELECT TO_CHAR(SYSDATE,'YYYYMMDD') FROM DUAL;--提取年月日字符串类型SELECT TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD'),'YYYYMMDD')--转化为日期格式
FROM DUAL;
 to_number():将字符串转为数字类型

字符串靠左,数字类型靠右

总结:

日期 → 字符串类型 :TO_CHAR(日期字段,'输出格式')  'YYYYMMDD'/'YYYY'

字符串类型 → 日期 :TO_DATE(字符串,'输出格式') 'YYYYMMDD'/'YYYY-MM-DD'

字符串 → 数字类型 :TO_NUMBER(字符串)  可以不用 做隐式转换

--练习:查询入职时间在1981年的员工
--TO_CAHR
SELECT *
FROM EMP
WHERE TO_CHAR(HIREDATE, 'YYYY') = '1981';
--TO_DATE
SELECT *
FROM EMP
WHERE HIREDATE >= TO_DATE('19810101', 'YYYYMMDD')AND HIREDATE <= TO_DATE('19811231', 'YYYYMMDD');
--NUMBER--CAST
SELECT *
FROM EMP
WHERE CAST(TO_CHAR(HIREDATE, 'YYYY') AS NUMBER) = 1981;

9.NOT BETWEEN  AND 反向区间

NOT BETWEEN  AND 不包括最大值和最小值

BETWEEN  AND 是包括端点值的

SELECT *
FROM EMP
WHERE SAL NOT BETWEEN 1000 AND 2000;
--WHERE SAL>2000 OR SAL<1000;

10.NOT IN

示例:查询所有不是经理(MANAGER) 也不是文员(CLERK)的信息    --AND/OR

SELECT *
FROM EMP
WHERE JOB <> 'MANAGER'AND JOB <> 'CLERK';
--WHERE JOB NOT IN ('MANAGER','CLERK')

例题:找出 所有 10号部门 以及 20 号部门 以及 薪资 不在 2000 ~ 3000 这个区间的员工信息。输出:ENAME,SAL,DEPTNO                --IN(X,Y,Z…)

SELECT ENAME, SAL, DEPTNO
FROM EMP
WHERE DEPTNO IN (10, 20)AND SAL NOT BETWEEN 2000 AND 3000;

11.LIKE模糊查询

关键字是 LIKE (长的像...) 两个 通配符

 % :表示 0位以及以上任意字符   

 _  下划线表示  固定一位字符  

示例:查询EMP表中姓名包含S的员工信息

SELECT *
FROM EMP
--WHERE ENAME LIKE '%S%'
--WHERE ENAME LIKE '%S'
WHERE ENAME LIKE 'S%';

示例:找出 姓名是 S开头 且是五位长度的员工姓名 

SELECT ENAME
FROM EMP
WHERE ENAME LIKE 'S%'AND LENGTH(ENAME) = 5; --五位长度SELECT ENAME
FROM EMP
WHERE ENAME LIKE 'S____'; -- 4个_

查询出名字是5个字,并且第二个字母是C的

SELECT ENAME
FROM EMP
--WHERE ENAME LIKE '_C___'
WHERE LENGTH(ENAME) = 5  --5位长度
AND ENAME LIKE '_C%';

12.空值NULL

(1)空值的过滤

需要 用 IS NULL / IS NOT NULL来判断

示例:筛选 奖金为 空(没有奖金) 的员工信息

SELECT * FROM EMP WHERE COMM IS NULL;

(2)空值的排序

空值排序永远在最大

SELECT * FROM EMP ORDER BY COMM;

 

--NULLS LAST 最后
--NULLS FIRST 最前

SELECT * FROM EMP ORDER BY COMM NULLS first;

示例:找出所有没有奖金的员工,输出员工姓名  薪资  部门编号,奖金,并且按照薪资的降序排序

SELECT ENAME, SAL, DEPTNO, comm
FROM EMP
WHERE COMM IS NULLor comm = 0
--WHERE nvl(comm,0)=0
ORDER BY SAL DESC;

(3)空值运算

--- 空值不参与比较运算

--- 空值跟任何值 进行 加减乘除 都是得到 空(NULL)

(4)空值转换NVL与NVL2

NVL(expr1, expr2)

如果 expr1 为非 NULL,则返回 expr1;如果 expr1 为 NULL,则返回 expr2。

NVL2(表达式,不为空设值,为空设值)
SELECT NVL(comm, 0) FROM EMP;
SELECT NVL2(null, 1, 0) FROM dual;

示例:找出年收入高于3万的员工信息(年收入 = (薪资+奖金) * 12),并且输出员工姓名、员工薪资、奖金、年收入。按照年收入的倒序排序。

select ename, sal, nvl(comm, 0), 12 * (sal + nvl(comm, 0)) year_sal--年收入
from emp
where 12 * (sal + nvl(comm, 0)) > 30000--年收入高于3万
order by year_sal desc;

总结:

  • 空值:未知的 没有意思的数 不是0 也不是空格
  • NULL排序在最大
  • 对 null 做+-*/运算得到的还是 NULL
  • NULL 不参与比较

相关文章:

Oracle基础知识

目录 1.别名的使用 2.AND的优先级高于OR 3.where后面可以接别名&#xff0c;order by后面不可以 4.Oracle中SQL的执行顺序(重点) 5.dual万用表 6.是否区分大小写 7.Oracle常用数据类型 8.Oracle常用函数 (1)length字符、lengthb字节和cast强制类型转换 (2)数据类型转…...

使用 vite-plugin-dynamic-base 实现运行时动态设置上下文路径

我们一般会在编译之前设置上下文&#xff0c;那么如何在编译之后动态设置上下文的路径&#xff1f; 本文使用的技术栈是 Go&#xff08;Gin&#xff09; Vue.js&#xff08;Vite&#xff09; 本文使用到的第三方包&#xff1a;https://github.com/chenxch/vite-plugin-dynam…...

spark-shuffle 类型及其对比

1. Hash Shuffle 原理&#xff1a;将数据按照分区键进行哈希计算&#xff0c;将相同哈希值的数据发送到同一个Reducer中。特点&#xff1a;实现简单&#xff0c;适用于数据分布均匀的场景。但在数据分布不均匀时&#xff0c;容易导致某些Reducer处理的数据量过大&#xff0c;产…...

力扣-快乐数

1.题目要求 2.题目链接 202. 快乐数 - 力扣&#xff08;LeetCode&#xff09; 3.题目分析 首先,因为需要频繁地用到数字变为各个位上的平方的过程,我们可以将"对于一个正整数,每一次将该数替换为它每个位置的数字的平方和"这一操作抽象出来&#xff0c;定义成一个…...

每日算法刷题Day10 5.19:leetcode不定长滑动窗口求最长/最大4道题,结束定长滑动窗口,用时1h

不定长滑动窗口 不定长滑动窗口主要分为三类&#xff1a;求最长子数组&#xff0c;求最短子数组&#xff0c;以及求子数组个数。 注&#xff1a;滑动窗口相当于在维护一个队列。右指针的移动可以视作入队&#xff0c;左指针的移动可以视作出队。 滑动窗口【基础算法精讲 03】…...

FreeSWITCH 纯内网配置

纯内网&#xff0c;且同一个网段&#xff0c;Fs 可简化配置&#xff0c;要点是: 1. 不需要事先配置 directory&#xff0c;任意号码都可以注册&#xff0c;且无挑战 2. 呼叫无挑战 不需要考虑那么多安全问题 配置如下&#xff1a; 1. 全局变量 <X-PRE-PROCESS cmd"…...

STL中list的模拟

这里写目录标题 list 的节点 —— ListNodelist 的 “导览员” —— ListIteratorlist 的核心 —— list 类构造函数迭代器相关操作容量相关操作 结尾 在 C 的 STL&#xff08;标准模板库&#xff09;中&#xff0c;list 是一个十分重要的容器&#xff0c;它就像一个灵活的弹簧…...

【iOS】类结构分析

前言 之前我们已经探索得出对象的本质就是一个带有isa指针的结构体&#xff0c;这篇文章来分析一下类的结构以及类的底层原理。 类的本质 类的本质 我们在main函数中写入以上代码&#xff0c;然后利用clang对其进行反编译&#xff0c;可以得到c文件 可以看到底层使用Class接…...

Android 万能AI证件照 v1.3.2

在日常的生活和工作场景里&#xff0c;证件照的身影随处可见。找工作投简历时&#xff0c;它是展现你形象的 “第一张名片”&#xff1b;办理各类证件&#xff0c;缺了它可不行&#xff1b;参加各种考试报名&#xff0c;同样需要它。可以说&#xff0c;证件照虽小&#xff0c;却…...

【Java】封装在 Java 中是怎样实现的?

包 关于包有两个关键字 package : 声明当前类属于哪个包 和 import : 允许当前类使用其他类或接口时不使用全限定名 , 也就是导包 . IDEA 的普通项目文件包括 src : 包含源码和资源文件 和 out : 包含编译产物字节码文件 . 在 IDEA 开发环境建包会在 src 源码目录中生成 , 可…...

牛客网 NC14736 双拆分数字串 题解

牛客网 NC14736 双拆分数字串 题解 题目分析 解题思路 通过分析&#xff0c;我们可以发现&#xff1a; 当n≤3时&#xff0c;无法构造出双拆分数字串&#xff0c;因为数字位数太少对于n>3的情况&#xff0c;我们可以构造两种特殊形式&#xff1a; 当n为奇数时&#xff0c…...

超长文本注意力机制如何突破传统 O(n²) 瓶颈

介绍了当前在超长文本&#xff08;可达百万级及以上 Token&#xff09;生成与预测中&#xff0c;注意力机制如何突破传统 O(n) 瓶颈&#xff0c;并阐释多种高效注意力算法如何支持 超长上下文处理能力。 概览 当前主流 Transformer 在处理长序列时&#xff0c;由于每个 Token…...

异丙肌苷市场:现状、挑战与未来展望

摘要 本文聚焦异丙肌苷市场&#xff0c;深入分析了其市场规模与增长趋势、应用价值与市场驱动因素、面临的挑战以及竞争格局。异丙肌苷作为一种具有重要应用价值的改性核苷衍生物&#xff0c;在药物研发和治疗领域展现出潜力&#xff0c;但市场发展也面临诸多挑战。文章最后为…...

JAVA面向对象——对象和类的基本语法

JAVA面向对象——对象和类的基本语法 一、面向对象编程基础 1. 程序中的数据存储方式 基本类型&#xff1a;变量&#xff08;如 int max 15;&#xff09;。数据结构&#xff1a;数组&#xff08;一维/二维&#xff09;、对象&#xff08;特殊数据结构&#xff0c;用于存储复…...

【windows】音视频处理工具-FFmpeg(合并/分离)

一、FFmpeg介绍 FFmpeg是一个‌开源的跨平台音视频处理框架。 法国计算机程序员 Fabrice Bellard 于 2000 年创建。 “FF”&#xff08;代表 “Fast Forward”&#xff0c;快进之意&#xff09;与 “mpeg”&#xff08;流行的视频压缩标准 MPEG&#xff0c;即运动图像专家组&am…...

Java并发编程:从基础到高级实战

在现代软件开发中&#xff0c;并发编程已成为不可或缺的核心技能。随着多核处理器的普及和分布式系统的发展&#xff0c;能否编写高效、线程安全的并发程序直接决定了应用程序的性能和可靠性。Java作为一门成熟的企业级编程语言&#xff0c;提供了丰富的并发编程工具和API&…...

在 Excel 中使用东方仙盟软件————仙盟创梦IDE

安装插件 用仙盟创梦编写插件代码 源码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ExcelDna.Integration;namespace 东方仙盟.仙盟创梦IDE_招标系统 {public static class 仙盟创梦_招标专…...

win7无线网络名称显示为编码,连接对应网络不方便【解决办法】

使用多个网络时可能需要切换到打印机的网络来打印东西&#xff0c;但是win7的编码问题导致不知道哪个网络是对应网络&#xff0c;可以使用批处理命令来自动连接道指定网络 将这个代码用文本文件打开后粘贴&#xff0c;然后另存为ansi格式的bat文件 代码中使用两种方式进行连接…...

.NET 10 - 尝试一下Minimal Api的Validation新特性

1.简单介绍 2025年11月微软将会发布.NET10&#xff0c;这是LTS(Long Term Support)版本。当前.NET10已经处于Preview4版本&#xff0c;微软对Runtime, Library, SDK, C#, Asp.NET Core, MAUI等都做了很多enhancement。近些年微软对Minimal Api一直在持续地更新。在.NET8中, Mi…...

C# Task 与 SynchronizationContext

示例代码 using System; using System.Collections.Concurrent; using System.Threading; using System.Threading.Tasks;namespace Test {internal class Program{static void Main(string[] args){_mainThreadSynchronizationContext new ThreadSynchronizationContext(&qu…...

iOS Runtime与RunLoop的对比和使用

Runtime 机制 核心概念 Objective-C 的动态特性&#xff1a;Objective-C 是一门动态语言&#xff0c;很多工作都是在运行时而非编译时决定的消息传递机制&#xff1a;方法调用实际上是发送消息 objc_msgSend(receiver, selector, ...)方法决议机制&#xff1a;动态方法解析、…...

JavaSenderMail发送邮件(QQ及OFFICE365)

前言 这是今天处理的公司安排的一个任务&#xff1a;客户系统发送offices365邮件报错535 之前没怎么解除邮件业务&#xff0c;于是先搭个简单的QQ邮件Demo熟悉一下吧&#xff0c;没有啥公网内网的麻烦&#xff08;之前听说有内网限制&#xff0c;我还处理了一些环境上的问题&…...

八股文--JVM(2)

⭐️⭐️6.类加载 类加载器 JVM只会运行二进制文件&#xff0c;类加载器的作用就是将字节码加载到JVM中&#xff0c;从而让程序启动 1.启动类加载器 ----JAVA_HOME/jre/libC编写加载的是JAVA_HOME/jre/lib 2.拓展类加载器 ----JAVA_HOME/jre/lib/ext 3.应用类加载器 ----C…...

【HTML-3】HTML 中的水平线与换行:基础元素详解

在网页设计中&#xff0c;合理的布局和内容分隔对于提升用户体验至关重要。HTML 提供了两个简单但强大的元素来实现这些功能&#xff1a;水平线 (<hr>) 和换行 (<br>)。本文将深入探讨这两个元素的用法、最佳实践以及现代替代方案。 1. 水平线 <hr> 元素 1…...

绿色云计算:数字化转型与可持续发展的完美融合

目录 引言 绿色云计算的概念与定义 云计算的环境影响与绿色云计算的重要性 绿色云计算的技术实践与策略 绿色云计算的案例研究与最佳实践 绿色云计算的挑战与限制 绿色云计算的未来趋势与预测 结论与展望 引言 随着云计算技术的迅猛发展和广泛应用&#xff0c;其环境影…...

AMO——下层RL与上层模仿相结合的自适应运动优化:让人形行走操作(loco-manipulation)兼顾可行性和动力学约束

前言 自从去年24年Q4&#xff0c;我司侧重具身智能的场景落地与定制开发之后 去年Q4&#xff0c;每个月都会进来新的具身需求今年Q1&#xff0c;则每周都会进来新的具身需求Q2的本月起&#xff0c;一周不止一个需求 特别是本周&#xff0c;几乎每天都有国企、名企通过我司找到…...

大模型——多模态检索的RAG系统架构设计

文章目录 1. 系统架构设计核心组件 2. 跨模态向量空间对齐方案方法一&#xff1a;预训练对齐模型&#xff08;如CLIP&#xff09;方法二&#xff1a;跨模态投影网络方法三&#xff1a;联合微调 3. 混合检索策略4. 关键问题解决Q: 如何解决模态间向量尺度不一致&#xff1f;Q: 如…...

BUUCTF——Kookie

BUUCTF——Kookie 进入靶场 一个登录页面 左上角提示让以admin身份登录 找到了cookie 应该与cookie相关 测试了一下admin admin没登上 We found the account cookie / monster 回头看了一下 这个是不是账号密码 测试一下 成功登入 但是没有flag 应该还是跟cookie相关 …...

代码随想录算法训练营

力扣684.冗余连接【medium】 力扣.冗余连接Ⅱ【hard】 一、力扣684.冗余连接【medium】 题目链接&#xff1a;力扣684.冗余连接 left x300 视频链接&#xff1a;代码随想录 题解链接&#xff1a;灵茶山艾府 1、思路 可以从前向后遍历每一条边&#xff08;因为优先让前面的边连上…...

服务器磁盘不同格式挂载区别

在Linux系统中&#xff0c;磁盘不同格式挂载的核心区别主要体现在‌文件系统类型‌和‌挂载方式‌两个方面&#xff0c;以下为具体差异分析&#xff1a; 一、文件系统类型区别 磁盘格式即文件系统类型的选择直接影响挂载后的性能和功能&#xff1a; ‌常见文件系统比较‌ ‌e…...

AI智能分析网关V4人员摔倒检测打造医院/工厂等多场景智能安全防护体系

一、方案背景​ 随着全球老龄化加剧&#xff0c;我国老年人口占比持续攀升&#xff0c;老年人摔倒伤亡事件频发&#xff0c;居家、养老机构等场景的摔倒防控成为社会焦点。同时&#xff0c;工厂、医院、学校等人员密集场所也易发生意外摔倒安全事故。传统人工监控存在视觉疲劳…...

window 显示驱动开发-准备 DMA 缓冲区

显示微型端口驱动程序必须及时准备 DMA 缓冲区。 当 GPU 处理 DMA 缓冲区时&#xff0c;通常调用显示微型端口驱动程序来准备下一个 DMA 缓冲区&#xff0c;以便提交到 GPU。 若要防止 GPU 耗尽&#xff0c;显示微型端口驱动程序在准备和提交后续 DMA 缓冲区时所花费的时间必须…...

程序设计实践--排序(1)

&#xff11;、插入排序&#xff08;一个数组&#xff09; #include<bits/stdc.h> using namespace std; const int N1e35; int a[N]; int n; int main(){cin>>n;for(int i1;i<n;i){cin>>a[i];}for(int i1;i<n;i){int va[i];int ji-1;while(j>1&am…...

window 显示驱动开发-GDI 硬件加速

Windows 7 引入的 GDI 硬件加速功能在图形处理单元 (GPU) 上提供加速的核心图形设备接口 (GDI) 操作。 若要指示 GPU 和驱动程序支持此功能&#xff0c;显示微型端口驱动程序必须将DXGKDDI_INTERFACE_VERSION设置为 > DXGKDDI_INTERFACE_VERSION_WIN7。 显示微型端口驱动程…...

驱动开发硬核特训 · Day 31:理解 I2C 子系统的驱动模型与实例剖析

&#x1f4da; 训练目标&#xff1a; 从驱动模型出发&#xff0c;掌握 I2C 子系统的核心结构&#xff1b;分析控制器与从设备的注册流程&#xff1b;结合 AT24 EEPROM 驱动源码与设备树实例&#xff0c;理解 i2c_client 与 i2c_driver 的交互&#xff1b;配套高质量练习题巩固理…...

网络安全之网络攻击spring临时文件利用

0x00 传统攻击流程 我们之前传统的攻击流程由以下几个步骤来完成 攻击者找到可以控制目标JDBC连接fakeServer的地方目标向fakeServer发起连接请求fakeServer向目标下发恶意数据包目标解析恶意数据包并完成指定攻击行为&#xff08;文件读取、反序列化&#xff09;&#xff0c…...

统一端点管理(UEM):定义、优势与重要性

统一终端管理&#xff08;UEM&#xff09;​​是一种通过单一平台集中管理、监控和保护企业所有终端设备&#xff08;如笔记本电脑、移动设备、服务器、物联网设备等&#xff09;的综合性策略。其核心在于跨操作系统&#xff08;Windows、macOS、iOS、Android等&#xff09;实现…...

什么是Rootfs

Rootfs (Root Filesystem) 详解 buildroot工具构建了一个名为"rootfs.tar"的根文件系统压缩包。 什么是rootfs Rootfs&#xff08;Root Filesystem&#xff0c;根文件系统&#xff09;是操作系统启动后挂载的第一个文件系统&#xff0c;它包含系统正常运行所需的基…...

黑马Java基础笔记-13常用查找算法

查找算法 基本查找(也叫顺序查找&#xff0c;线性查找) 二分查找&#xff08;需要有序数据&#xff09; public static int binarySearch(int[] arr, int number){//1.定义两个变量记录要查找的范围int min 0;int max arr.length - 1;//2.利用循环不断的去找要查找的数据wh…...

#渗透测试#批量漏洞挖掘#LiveBos UploadFile(CVE-2021-77663-2336) 任意文件上传漏洞

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…...

Git 和 GitHub 学习指南本地 Git 配置、基础命令、GitHub 上传流程、企业开发中 Git 的使用流程、以及如何将代码部署到生产服务器

Windows 上 Git 安装与配置 下载安装&#xff1a;访问 Git 官方网站下载适用于 Windows 的安装程序。运行安装包时会出现许可协议、安装目录、组件选择等界面&#xff08;如下图&#xff09;。在“Select Components”页面建议勾选 Git Bash Here 等选项&#xff0c;以便在资源…...

SUI批量转账几种方法介绍

一、Sui区块链简介 Sui是由前Meta&#xff08;Facebook&#xff09;工程师创建的下一代Layer 1区块链&#xff0c;采用基于Move编程语言的新型智能合约平台。Sui的设计专注于高吞吐量、低延迟和可扩展性&#xff0c;使其特别适合需要处理大量交易的场景。 Sui的核心特点&…...

Vue2到Vue3迁移问题解析

1. 响应式系统的变化 问题&#xff1a;Vue3 使用 Proxy 替代 Object.defineProperty&#xff0c;导致部分 Vue2 的响应式写法失效。解析&#xff1a; 数组直接索引修改&#xff1a;// Vue2&#xff1a;需使用 Vue.set 或 splice this.$set(this.items, 0, new value); this.it…...

【解决】rpm 包安装成功,但目录不存在问题

开发平台&#xff1a;RedHat 8   一、问题描述 [rootproxy ~]# rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec # rpmbuild 制作 .rpm 包 [rootproxy ~]# yum -y install /root/rpmbuild/RPMS/x86_64/nginx-1.22.1-1.x86_64.rpm # 安装 .rpm包 …...

深度学习框架显存泄漏诊断手册(基于PyTorch的Memory Snapshot对比分析方法)

点击 “AladdinEdu&#xff0c;同学们用得起的【H卡】算力平台”&#xff0c;H卡级别算力&#xff0c;按量计费&#xff0c;灵活弹性&#xff0c;顶级配置&#xff0c;学生专属优惠。 一、显存泄漏&#xff1a;深度学习开发者的"隐形杀手" 在深度学习模型的训练与推…...

PyTorch中单卡训练、DataParallel(DP)和DistributedDataParallel(DDP)

PyTorch中提供了单卡训练、DataParallel&#xff08;DP&#xff09;和DistributedDataParallel&#xff08;DDP&#xff09;&#xff0c;下面是相关原理与实现代码。 代码下载链接&#xff1a;git代码链接 一、单卡训练 原理 单卡训练是最基础的模型训练方式&#xff0c;使用…...

Redis从入门到实战 - 高级篇(中)

一、多级缓存 1. 传统缓存的问题 传统的缓存策略一般是请求到达Tomcat后&#xff0c;先查询Redis&#xff0c;如果未命中则查询数据库&#xff0c;存在下面的问题&#xff1a; 请求要经过Tomcat处理&#xff0c;Tomcat的性能成为整个系统的瓶颈Redis缓存失效时&#xff0c;会…...

项目计划缺乏可行性,如何制定实际可行的计划?

制定实际可行的项目计划需从明确项目目标、准确评估资源、风险管理、设定合理里程碑以及优化沟通渠道入手。其中&#xff0c;明确项目目标尤为关键&#xff0c;只有在目标清晰、具体且量化时&#xff0c;团队才能有效规划各项活动并衡量进展。例如&#xff0c;目标若模糊或过于…...

React中使用ahooks处理业务场景

// 从 ahooks 引入 useDynamicList 钩子函数&#xff0c;用于管理动态列表数据&#xff08;增删改&#xff09; import { useDynamicList } from ahooks;// 从 ant-design/icons 引入两个图标组件&#xff1a;减号圆圈图标和加号圆圈图标 import { MinusCircleOutlined, PlusCi…...

CNBC专访CertiK联创顾荣辉:从形式化验证到AI赋能,持续拓展Web3.0信任边界

近日&#xff0c;CertiK联合创始人、哥伦比亚大学教授顾荣辉接受全球知名财经媒体CNBC阿拉伯频道专访&#xff0c;围绕形式化验证的行业应用、AI在区块链安全中的角色&#xff0c;以及新兴技术风险等议题&#xff0c;分享了其对Web3.0安全未来的深刻洞察。 顾荣辉表示&#xf…...