自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴声子夜歌的博客

个人学习笔记

  • 博客(1496)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java数据结构与算法——数论问题

完全数(Perfect number)是一些特殊的自然整数。完全数等于其所有因子的和。这里所谓的因子是指所有可以整除这个数的数,而不包括该数本身。其实谈到完全数,与之相关的两个概念便是亏数和盈数。一般来说,通过其所有真因子的和来判断一个自然数是亏数、盈数及完全数。例如,4的所有真因子包括1和2,而4>1+2,所以4是一个亏数;6的所有真因子包括1、2、3,而6=1+2+3,因此6是一个完全数;12的所有真因子包括1、2、3、4、6,而12<1+2+3+4+6,所以12是一个盈数。下面举几个典型的完全数的例子

2026-01-10 22:47:29 387

原创 Java数据结构与算法——基本数学问题

闰年规则:Java实现,基础版本:二、随机数生成算法2.1、Java中的随机方法编程语言中提供了随机数的生成方法。例如,Java语言中就提供了如下三种随机数生成方法:2.3、java.util.Random2.4、ThreadLocalRandom2.5、SecureRandom2.6、随机数工具类三、π近似值3.1、割圆术割圆术原理:数学公式:Java实现:3.2、蒙特卡罗算法蒙特卡罗法计算 π 的原理:Java实现:3.3、级数公式常见级数公式:Java实现:

2026-01-08 21:30:41 858

原创 数据结构与算法——排序

比较的次数在这种方法中,采用基于比较的次数对排序算法进行分类。对于基于比较的排序算法,在最好情况下时间复杂度为O(nlogn),而在最坏情况下则为O(n2)。基于比较的排序算法通过关键字比较操作来排列序列元素,并且对于大多数输人至少需要O(nlog)次比较。交换的次数在此方法中,排序算法以交换的次数来对算法分类。内存使用有些排序算法是“原地的”(即不占用额外的内存空间),仅需要O(1)或O(1og)的内存开销用于创建临时排序数据的辅助存储位置。递归。

2026-01-04 23:10:36 587

原创 数据结构——通用树(N叉树)

上述的具体含义是,如果孩子结点之间有一条链路相连,那么双亲结点就不需要额外的指针指向所有的孩子结点。因此,只要双亲结点用一个指针指向其第一个孩子结点,且同一个双亲结点的所有孩子结点之间都有链路,那么就能解决上面的问题。这棵给定树的深度为4。如果仔细观察可得,只需要从每一个结点开始,跟踪找其双亲结点直到找到一1为止,同时跟踪所有结点深度的最大值,就可以得到问题的解。给定一个双亲结点数组P,其中P[门是树的第个结点的双亲结点(假设根结点的双亲结点用一1表示)。这意味着,需要考察数组对应的树,从而求出树的高度。

2025-12-30 18:48:13 674

原创 数据结构——二叉树

如果一棵树中的每个结点有0、1或者2个孩子结点,那么这棵树就称为二叉树。空树也是一棵有效的二叉树。一棵二叉树可以看作由根结点和两棵不相交的子树(分别称为左子树和右子树)组成。如下图所示。严格二叉树:二叉树中的每个节点要么有两个孩子节点,要么没有孩子节点。满二叉树:二叉树中的每个节点恰好有两个孩子节点且所有叶子节点都在同一层。完全二叉树:在定义完全二叉树之前,假定二叉树的高度为h。对于完全二叉树,如果将所有结点从根结点开始从左至右,从上至下,依次编号(假定根结点的编号为1),那么将得到从1~n(n为结点总数

2025-12-29 22:38:34 799

原创 Windows——注册表

操作系统配置信息应用程序设置硬件配置用户个性化设置系统安全策略。

2025-12-02 22:48:02 830

原创 Windows——PowerShell

命令行shell脚本语言配置管理框架# 使用函数。

2025-12-02 21:47:57 903

原创 Windows——快捷键详解

【代码】Windows——快捷键详解。

2025-12-01 23:20:51 1028

原创 Windows——网络相关命令

nbtstat是 NetBIOS over TCP/IP Statistics​ 的缩写,用于显示基于TCP/IP的NetBIOS配置信息。ipconfig是 Internet Protocol Configuration​ 的缩写,用于显示和管理所有网络适配器的TCP/IP网络配置。netstat是 Network Statistics​ 的缩写,用于显示活动的网络连接、监听端口、路由表、接口统计等信息。命令位置:netstat.exe文件位于 C:\Windows\System32目录下。

2025-11-30 23:24:14 753 1

原创 Windows——系统配置与管理

devmgmt.msc是 Device Management Microsoft Saved Console​ 的缩写,用于启动设备管理器。mountvol是 Mount Volume​ 的缩写,用于创建、删除或列出卷的挂载点。taskkill命令用于结束一个或多个任务或进程。它可以根据进程ID(PID)或映像名称来终止运行中的程序,是系统维护和故障排除的重要工具。它提供了一个快速、全面的系统概览,是系统管理和故障排除的重要工具。它提供了详细的进程信息,是系统监控、故障排除和性能分析的基础工具。

2025-11-29 22:08:10 725

原创 Windows——特定功能的启动和设置

icacls是 Integrity Control Access Control Lists​ 的缩写,用于显示、修改、备份、还原文件和文件夹的NTFS权限,并处理权限继承。这是Windows系统中最重要的日志管理和诊断工具,记录了系统、应用程序和服务的所有关键操作、错误、警告和信息事件。explorer命令是 Windows 中最常用、最重要的命令之一,它用于启动 Windows 文件资源管理器(即我们常说的“我的电脑”或“此电脑”窗口)。通过该命令可以连接到远程计算机的桌面环境,实现远程控制和管理。

2025-11-29 17:29:41 879

原创 Windows命令行目录与文件操作

它主要用于检测并修复 Windows 系统文件的损坏或篡改。md(Make Directory)是 Windows 命令行(CMD)中用于创建新目录(文件夹)​的命令,是 mkdir的简写形式(两者功能完全相同)。rd(Remove Directory)是 Windows 命令行(CMD)中用于删除目录(文件夹)​的命令,是 rmdir的简写形式(两者功能相同)。在 Windows 命令提示符(CMD)中,fc(File Compare)命令用于逐行比较两个文件或文件集的内容差异,并输出详细的对比结果。

2025-10-20 00:19:51 1113

原创 Excel——常用函数三

这些函数统称为 IS 函数,此类函数可检验指定值并根据结果返回 TRUE 或 FALSE。例如,如果参数 value 引用的是空单元格,则 ISBLANK 函数返回逻辑值 TRUE;否则,返回 FALSE。以下列表描述了可用于 info_type 参数的文本值。必须在 CELL 函数中输入这些值,并用引号 (“ ”)。

2025-09-25 15:03:30 1496

原创 Excel——常用函数二

需要在表格或区域中按行查找内容时,请使用 VLOOKUP。例如,按部件号查找汽车部件的价格,或根据员工 ID 查找员工姓名。返回表元素或数组元素的值,该元素是通过行号和列号索引选定的。当函数 INDEX 的第一个参数为数组常量时,使用数组形式。返回指定的行与列交叉处的单元格引用。如果引用由不连续的选定区域组成,可以选择某一选定区域。

2025-09-24 22:21:29 1259

原创 Excel——常用函数一

例如,公式 =SUMIF(B2:B5, “John”, C2:C5) 只对区域 C2:C5 中在区域 B2:B5 中所对应的单元格等于“John”的值求和。也即如果(单元格 F2 中的值等于 1,则返回的值位于单元格 D2,如果单元格 F2 中的值等于 2,则返回的值位于单元格 D3,并以此类推,如果其他条件均不满足,则最后返回的值位于 D8)。也即如果(A2 大于 89,则返回“A”,如果 A2 大于 79,则返回“B”并以此类推,对于所有小于 59 的值,返回“F”)。包含零值的单元格不计算在内。

2025-09-22 15:32:03 1245

原创 PostgreSQL——元命令

PostgreSQL 提供了一系列元命令(meta-commands),这些命令以反斜杠(\)开头,用于执行各种数据库管理任务。这些命令在 psql 命令行工具中特别有用。

2025-09-16 15:49:52 1056

原创 PostgreSQL——分区表

执行以上命令后,log ins201802分区不再属于分区表log_ins的分区,但log_ins_history_201802表依然保留可供查询,这种方式相比方法一提供了一个缓冲时间,属于比较稳妥的删除分区方法,因为在拿掉子表继承关系后,只要没删除这个表,还可以使子表重新继承父表。然后刷新触发器函数log_ins_insert_trigger(0,添加相应代码,将符合路由规则的数据插入新分区,详见之前定义的这个函数,这步完成后,添加分区操作完成,可通过d+log_ins命令查看log_ins的所有分区。

2025-09-15 23:31:18 1158 1

原创 PostgreSQL——并行查询

了解并行 index-only 扫描之前首先介绍下index-only扫描,顾名思义,index-only扫描是指只需扫描索引,也就是说SQL 仅根据索引就能获得所需检索 的 数据,而不需要通过索引回表查询数据。介绍并行顺序扫描之前先介绍顺序扫描(sequential scan),顺序扫描通常也称之为扫描,全表扫描会扫描整张表数据,当表很大时,全表扫描会占用大量CPU、内存、源,对数据库性能有较大影响,在OLTP事务型数据库系统中应当尽量避免。

2025-09-13 21:40:09 1080

原创 PostgreSQL15——Java访问PostgreSQL

JDBC (Java Database Connectivity)是 Java 语言中用于访问数据库的应用程序接口(API)。JDBC 提供了操作关系数据库的标准方法,属于 Java Standard Edition 平台的一部分。

2025-09-11 00:02:32 1125

原创 PostgreSQL15——触发器

PostgreSQL 触发器 (trigger)是一种特殊的函数,当某个数据变更事件(INSERT、 UPDATE、DELETE 或者 TRUNCATE 语句)或者数据库事件(DDL 语句)发生时自动执行,而不是由用户或者应用程序进行调用。基于某个表或者视图数据变更的触发器被称为数据变更触发器(DML 触发器),基于数据库事件的触发器被称为事件触发器(DDL 触发器)。一般我们更多使用的是数据变更触发器。

2025-09-09 21:43:04 961

原创 PostgreSQL15——PL/pgSQL 存储过程

除了标准SQL 语句之外, PostgreSQL 还支持使用各种过程语言(例如 PL/pgSQL、 C、 PL/Tcl、PL/Python、PL/Perl、PL/Java 等 )创建复杂的过程和函数,称为存储过程(Stored Procedure)和自定义函数(User-Defined Function)。存储过程支持许多过程元素,例如控制结构、循环和复杂的计算。减少应用和数据库之间的网络传输。

2025-09-09 18:29:44 820

原创 PostgreSQL15——视图

视图(View)本质上是一个存储在数据库中的查询语句。视图本身不包含数据,也被称为虚拟表。我们在创建视图时给它指定了一个名称,然后可以像表一样对其进行查询。替代复杂查询,减少复杂性。将复杂的查询语句定义为视图,然后使用视图进行查询,可以隐藏具体的实现;提供一致性接口,实现业务规则。在视图的定义中增加业务逻辑,对外提供统一的接口;当底层表结构发生变化时,只需要修改视图接口,而不需要修改外部应用,可以简化代码的维护并减少错误;控制对于表的访问,提高安全性。通过视图为用户提供数据访问,而不是直接访问表。

2025-09-08 13:52:52 1123

原创 PostgreSQL15——索引与优化

name text如果没有索引,数据库需要扫描整个表才能找到相应的数据。Parallel Seq Scan 表示并行顺序扫描,执行消耗了 12s;由于表中有包含大量数据,而查询只返回一行数据,显然这种方法效率很低。如果在 id 列上存在索引,则可以通过索引快速找到匹配的结果。创建索引需要消耗一定的时间。Index Scan 表示索引扫描,执行消耗了 20ms;这种方式类似于图书最后的关键字索引,读者可以相对快速地浏览索引并翻到适当的页面,而不必阅读整本书来找到感兴趣的内容。

2025-09-07 22:18:11 1023

原创 PostgreSQL15——事务与并发控制

对于业务开发人员来说,我们一般使用PostgreSQL 的默认隔离级别,因为它的MVCC 实现消除了大部分的锁等待问题。虽然此时可能产生不可重复读、幻读和更新丢失,但是并不会导致数据的不一致性,因为这些都是其他事务的正常操作。回滚之后,事务中的数据修改都会被撤销,账户 UserC 并没有创建成功。因为上面的事务还没有提交,事务的隔离性使得我们无法看到其他事务未提交的修改。如果一个事务已经修改某个数据而且未提交,则另一个事务不允许同时修改该数据(必须等待),写操作一定是相互阻塞的,需要按照顺序执行。

2025-09-07 17:07:19 861

原创 PostgreSQL15——DML 语句

包括插入数据的 INSERT 语句、更新数据的UPDATE 语句、删除数据的 DELETE 语句,以及合并数据的 MERGE 语句。

2025-09-05 22:41:15 1046

原创 PostgreSQL15——窗口函数

是窗口函数的名称;expression是函数参数,有些函数不需要参数;OVER 子句包含三个选项:分区(PARTITION BY)排序(ORDER BY)窗口大小(frame_clause)

2025-08-31 14:25:29 986

原创 PostgreSQL15——通用表表达式(CTE)

通用表表达式(Common Table Expression、CTE)是一个临时的查询结果或者临时表,可以在其他 SELECT、INSERT、UPDATE 以及 DELETE 语句中使用。通用表表达式只在当前语句中有效,类似于子查询。

2025-08-31 00:08:39 1160

原创 PostgreSQL15——集合运算

数据库中的表(table)本质上就是由行(row)组成的集合。UNIONINTERSECTEXCEPT集合操作符要求参与运算的两个查询结果具有相同数量的列,以及对应列的类型必须匹配或兼容。

2025-08-30 22:41:39 748

原创 PostgreSQL15——子查询

子查询(Subquery)是指嵌套在其他SELECT、INSERT、UPDATE 以及 DELETE 语句中的查询语句。

2025-08-29 22:17:17 963

原创 PostgreSQL15——常用函数

current_timestamp、clock_timestamp()、localtimestamp、now()、statement_timestamp()等;运算符用于将timestamp without time zone、 timestamp WITH time zone 以及time WITH time zone 转换为指定时区中的时间。函数用于将timestamp、timestamp WITH time zone、date、time 或者 interval 数据截断到指定的精度。

2025-08-28 20:53:58 1288

原创 PostgreSQL15——CASE 条件表达式

CASE 表达式的作用就是为 SQL 语句增加类似于的逻辑处理功能,可以根据不同的条件返回不同的结果。和。NULLIF和COALEASE。

2025-08-25 11:02:24 1197

原创 PostgreSQL15——查询详解

其中,COUNT(*)返回了该部门员工的总数(5),COUNT(DISTINCT salary)返回了薪水不相同的员工数量(4),COUNT(commission_pct)返回了佣金百分比不为空值的数量(0),该部门员工都没有佣金提成。对于外连接,需要注意 WHERE 条件和 ON 条件之间的差异:ON 条件是针对连接之前的数据进行过滤,WHERE 是针对连接之后的数据进行过滤,同一个条件放在不同的子句中可能会导致不同的结果。也就是说,只要前面的表达式能够决定最终的结果,不进行后面的计算。

2025-08-23 22:06:54 1113

原创 PostgreSQL15——管理表空间

表空间的名称不能以 pg_开头,它们是系统表空间的保留名称;LOCATION 参数必须指定绝对路径名,指定的目录必须是一个已经存在的空目录,PostgreSQL 操作系统用户(postgres)必须是该目录的拥有者,以便能够进行文件的读写。在PostgreSQL 中,表空间(tablespace)表示数据文件的存放目录,这些数据文件代表了数据库的对象,例如表或索引。默认情况下,执行 CREATE TABLESPACE 语句的用户为该表空间的拥有者,也可以使用OWNER 选项指定拥有者。

2025-08-21 17:11:12 1298

原创 PostgreSQL15——管理数据表

以上语句出错的原因在于新增的字段 notes 存在非空约束,但是对于已有的数据该字段的值为空。除了表之外,其他的模式对象,例如索引、函数、类型等等,也遵循相同的原则。表级约束和字段约束类似,只不过它是基于整个表定义的约束,还能够为约束指定自定义的名称。不过需要注意的是,如果表中已经存在数据,新增字段的默认值有可能会违反指定的约束。删除约束通常需要知道它的名称,可以通过 psql 工具的\d table_name 命令查看表的约束。添加字段与创建表时的字段选项相同,包含字段名称、字段类型以及可选的约束。

2025-08-21 16:01:28 836

原创 PostgreSQL15——数据库与模式

注意,只有超级用户或者数据库的拥有者才能修改数据库的默认会话变量。删除数据库会同时删除该数据库中所有的对象,以及文件系统中的数据目录。以pg_开头的名称是系统保留的模式名称,用户无法创建这样的模式。创建了模式之后,我们就可以在模式中创建各种数据库对象,例如表、数据类型、函数以及运算符等等。数据库集群,每个 PostgreSQL 实例管理的都是一个数据库集群,它可以包含多个数据库。其中,action 指定了要执行的修改操作,例如修改数据库的名称、所有者、默认表空间、数据库会话变量的默认值等等。

2025-08-19 16:43:52 1128

原创 PostgreSQL15——用户和角色

PostgreSQL 通过角色的概念来控制数据库的访问权限。角色又包含了两种概念,具有登录权限的角色称为用户,包含其他成员(也是角色)的角色称为组(group)。因此,一个角色可以是一个用户,也可以是一个组,或者两者都是。角色可以拥有数据库对象(例如表和函数),并且可以将这些对象上的权限授予其他角色,从而控制对象的访问。此外,一个组中的成员可以拥有该组所拥有的权限。

2025-08-19 14:59:27 923

原创 PostgreSQL——用户管理

PostgreSQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的各种权限。SUPERUSER拥有对数据库操作的最高权限,可以完成对数据库的所有权限检查。为了保证PostgreSQL的安全,建议用户谨慎使用SUPERUSER,不要轻易创建它,最好使用非超级用户完成用户的大多数工作。组角色可以拥有数据库对象(比如表),以及可以把这些对象上的权限赋予其他角色,以控制谁拥有访问哪些对象的权限。一个数据库角色可以有一系列属性,这些属性定义它的权限,以及与客户认证系统的交互。

2025-08-17 16:38:29 1585

原创 PostgreSQL——事务处理与并发控制

事务要有非常明确的开始和结束点,PostgreSQL中的每一条数据操作语句,例如SELECT、INSERT、UPDATE和DELETE都是隐式事务的一部分。即使只有一条语句,系统也会把这条语句当作一个事务,要么执行所有语句,要么什么都不执行。在Postgr©SQL中,由事务管理器负责管理事务运行的模块,主要结构如图所示。事务管理器是事务系统的中枢,通过接收的信息,处理下一步的事务操作。锁管理器主要提供在事务的写阶段并发控制所需要的各种锁,从而保证事务的各种隔离级别。

2025-08-16 16:57:24 1118

原创 PostgreSQL——触发器

BEFORE触发器通常在语句开始做任何事情之前触发,AFTER触发器则在语句结束时触发。触发程序与表相关,当对表执行INSERT、DELETE或UPDATE语句时,将激活触发程序。如果定义INSERT之前,表明在数据库插入之前,先调用触发器,再执行触发器函数。从执行的结果来看,在studentl表插入记录之后,触发器计算插入到studentl表中的数据,并将结果插入到studentl stats表中相应的位置。在某些触发程序的用法中,可用于检查插入到表中的值,或对更新涉及的值进行计算。

2025-08-14 22:32:16 699

原创 PostgreSQL——视图

视图是一个虚拟表,是从数据库中一个或多个表中导出来的表。视图还可以从己经存在的视图基础上定义。视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的操作与对表的操作一样,可以对其进行查询、修改和删除。当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。

2025-08-14 17:23:06 1484

vuedevtools安装.zip

用于Chrome本地安装vue-devtools,无脑安装!!!! 安装过程: 1.Chrome=》设置=》更多工具=》扩展程序 2.打开开发者模式 3.加载已解压的扩展程序=》选择解压后的文件夹 4.重启浏览器 5.如果失败,在加载后的vuedevtools设置页面开启“允许访问文件网址”

2019-10-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除