自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (2)
  • 收藏
  • 关注

原创 51单片机(STC89C52RC版本)学习笔记(更新中...)

B站江协科技《51单片机入门教程-2020版 程序全程纯手打 从零开始入门》课程学习笔记,包含LED,独立按键,数码管,LCD1602,矩阵键盘,定时器,串口通信,蜂鸣器等模块。

2024-12-04 16:36:01 1659

原创 C++中的new, delete, new[]和delete[]

但对于不平凡的类,使用new[]申请内存时,会在第一个元素的前面记录元素的个数,当使用delete[]释放内存时,会先读取元素的个数,并调用对应次数的析构函数,最后释放内存;从上图中,我们还可以发现,栈中变量存储的顺序并不是我们定义的顺序,而是占用空间较大的变量会被存储在栈底,占用空间较小的变量会被存储在栈顶(栈的增长方向是从上往下)。直接看上面的输出结果,可能比较难以理解,根据上面的输出结果,我绘制了如下的堆栈信息图。的类型输出其中的内容,确实是为3,这也就验证了我们前面的说法,对于不平凡的类,

2024-11-04 09:41:00 351

原创 多线程环境下内存池的实现(C++)

可能发生一块内存被多个线程获取的情况,导致这几个线程的数据出现错乱。获取后,还没释放,就被线程。

2024-10-30 11:19:43 698

原创 C++并发与多线程

本文以生产者消费者模型作为例子,进行多线程技术的探讨。此外,将初步探讨async,future与atomic的使用。

2024-10-28 19:44:16 474

原创 Ubuntu下安装Bochs2.7

通过自带软件库安装的Bochs运行时不显示任何内容,这里选用源码安装方式。

2024-10-21 11:36:39 1205

原创 C++菱形继承与虚继承

菱形继承问题是由于不合理的多继承引起的,B和C都继承自A,而D同时继承B和C,导致D中存在两份A的数据。

2024-10-14 20:01:46 447

原创 C++类对象默认生成的8个成员函数

如果在定义的同时进行赋值(2和5),等价于用已有对象初始化新对象(3和6),则调用的是构造函数,如第2和第5调用的分别是拷贝构造和移动构造;如果在定义后,再进行赋值,则调用的是赋值运算符(4和7)。

2024-10-14 19:01:34 346

原创 0/1背包与完全背包差异分析

先从定义的分析0/1背包和完全背包的差异,再从代码实现上分析,最后进行总结。

2024-10-06 15:14:04 334

原创 排序算法剖析

介绍并分析快速排序,归并排序,希尔排序等9种排序算法。

2024-10-04 19:21:49 786 1

原创 Linux网络编程

主要介绍了自学过程中的一些网略编程知识,包括进程相关,TCP/IP,网络I/O等。

2024-10-04 15:25:57 1293

原创 消息队列RabbitMQ

RabbitMQ是基于Erlang语言开发的开源消息通信中间件,支持AMQP,XMPP,SMTP,STOMP协议,消息延迟时微秒级别的。Ubuntu系统RabbitMQ的安装。

2024-10-02 22:58:44 1703

原创 Java与C++差异解析

Java和C++的区别详解C++和JAVA的区别

2024-10-02 14:40:14 320

原创 JNI实现Java调用C++函数

【代码】JNI实现Java调用C++函数。

2024-09-28 22:47:13 328

原创 深入理解MySQL锁与事务

文章目录一、事务及其属性二、锁机制三、间隙锁与临键锁一、事务及其属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。原子性(Atomicity) :事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。(操作层面一致)一致性(Consistent) :在事务开始和完成时,数据都必须保持一致状态。例如,用户付款成功,订单状态和库存必须保持一致。(数据层面一致)隔离性(Isolation) :数据库系统提供一定的隔离机制,保证事务在不受

2024-09-27 10:06:21 808

原创 2024秋招算法

根据代码随想录和力扣进行算法训练的笔记,包括字符串,哈希表,栈与队列,二叉树,动态规划等模块。

2024-07-22 10:30:45 5088 4

原创 VS Code调试Darknet

【代码】VS Code调试Darknet。

2023-07-28 12:59:07 404

原创 Latex绘制甘特图

【代码】Latex绘制甘特图。

2023-03-16 18:35:47 1143

原创 matplotlib绘制柱状图和折线图

matplotlib绘制双柱状图和折线图。

2023-03-16 16:46:19 1641

原创 编程中的数学思想

编程过程中重要数学思想的记录。

2023-01-08 15:50:11 185

原创 研究生算法课程笔记

算法课程算法题目总结

2022-11-19 10:22:32 1092 2

原创 Python入门学习笔记

第一天print(r"D:/three/two/one/now.")temp = """adsda\naasas"""import randomrandom.randint(1,10) #1到10之间的伪随机数import decimala = decimal.Decimal('0.1')b = -3//2 #地板除是向下取整,这里的结果是2c = divmod(2,3) // 返回(x//y, x%y)d = pow(2,3) // 返回2的3次方e = 2**3 // 返回2的3次

2022-04-26 17:34:34 476

原创 Vue下载后端返回的Excel文件

1、设置请求参数// 导出订单Excelexport const getOrderExcel = param => { return request({ url: '/order/excel/', method: 'get', params: param, responseType: 'blob', headers: { 'Content-Type': 'application/x-do

2022-04-18 12:46:47 2060

原创 Spring面试题整理

1、浅谈Spring IOCIOC,也就是控制反转。控制反转是一种设计思想,而不是具体的技术实现。拆开来理解,控制指的是创建和管理对象的权利,反转指的是将这种控制权交给外部环境管理。所以,Spring IOC指的是将创建和管理对象的权利交给Spring。在 Spring 中, IoC容器是 Spring 用来实现控制反转的载体, IoC容器实际上就是个 Map,Map 中存放的是各种对象。我们只需要配置好我们需要的对象,Spring会帮我们管理,当我们需要对象时,Spring会自动帮我们注入。2、浅

2022-02-20 20:42:55 262

原创 Java运行时数据区域

文章目录一、总览二、堆Heap三、方法区Method Area一、总览二、堆Heap除G1,ZGC等新一代垃圾回收器外,使用传统的垃圾回收器时,堆区分为新生代和老年代,默认情况下,新生代占用1/3,老年代占用2/3。其中,新生代又分为一个Eden区和两个Survivor区,默认情况下,Eden区占8/10,两个Survivor区各占1/10。三、方法区Method Area方法区是《JAVA虚拟机规范》中的一个抽象概念,JDK1.8之前,HotSpot虚拟机对方法区的实现是永久代(Per

2022-02-20 10:21:10 767

原创 Java中常量池、运行时常量池和字符串常量池的区别

一、字符串常量池字符串常量池是比较容易理解的,程序中出现的所有字符串都会被放到字符串常量池中。二、常量池与运行时常量池public class T01_ConstantPool { public static void main(String[] args) { }}运行上面的程序后,可在项目目录下找到T01_ConstatntPool.class文件,我们将目录切换到class文件所在目录,运行命令javap -v T01_ConstantPool.class,在运

2022-02-20 10:04:34 1857 2

原创 JVM常见面试知识点

JDK、JRE、JVM

2022-02-19 17:22:48 920

原创 详解Java内存模型

文章目录一、简介二、处理器、高速缓冲、主内存间的交互关系三、Java线程、工作内存和主内存的交互关系四、8大原子操作五、8大Happens-Before原则一、简介Java内存模型(JMM)是线程间通信的控制机制,JMM定义了主内存和线程工作内存之间的抽象关系。用来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。线程之间的共享变量存储在主内存中,每个线程都有一个私有的工作内存,存储了共享变量的副本。本地内存是JMM的一个抽象概念,并不是真实存在的,其涵

2022-02-19 16:55:04 751

原创 MySQL中执行SQL的BufferPool缓存机制

文章目录一、MySQL底层结构图二、MySQL日志及缓存机制一、MySQL底层结构图二、MySQL日志及缓存机制看完MySQL的底层结构图,很多人可能会有这样的疑问:为什么MySQL不能直接更新磁盘上的数据而且设置这么一套复杂的机制来执行SQL呢?因为如果每一个请求直接对MySQL数据文件进行读写,是随机IO,对于每次读写,机械硬盘都有寻道时间和旋转延迟,因此直接更新数据磁盘文件性能是比较低的,对于固态硬盘,也需要通过地址转换机制确定读写位置,所以直接更新磁盘文件是不能让数据库抗住很高并发的。

2022-02-14 12:27:44 692

原创 MySQL使用explain工具查看执行计划

文章目录一、Explain工具介绍二、Explain中的字段信息2.1、id2.2、 select_type2.3、table2.4、type2.5、possible_keys2.6、key列2.7、key_len列2.8、ref列2.9、rows2.10、extra一、Explain工具介绍EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句的预估执行情况。在SELECT语句之前增加explain关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这

2022-02-14 10:56:10 616

原创 LeetCode热题100道

文章目录1、两数之和2、两数相加3、无重复字符的最长子串1、两数之和通往【LeetCode - 两数之和】的任意门解法一:暴力解采用两层for循环,第一次层循环选取第一个数,第二次循环选取第二个数,第二层循环找到符合的数则直接返回结果。时间复杂度:O(n^2)空间复杂度:O(1)vector<int> twoSum(vector<int>& nums, int target) { vector<int> res;

2022-02-11 18:21:26 5442

原创 MySQL使用trace工具查看执行计划

文章目录一、什么是trace工具二、trace工具的使用三、结构分析3.1、SQL准备阶段3.2、SQL分析、优化阶段四、重要信息分析一、什么是trace工具MySQL5.6版本开始,推出了对SQL的跟踪工具trace,通过使用trace,用户可以查看MySQL优化器对SQL语句的分析结果,以及生成了怎样的执行计划。二、trace工具的使用1、开启/关闭trace工具开启:set session optimizer_trace="enabled=on",end_markers_in_json

2022-02-11 10:36:58 2965

原创 MySQL索引实战

文章目录一、准备测试环境1.1、创建数据表1.2、创建生成数据的函数1.3、执行过程生成测试数据二、索引实战测试一、准备测试环境1.1、创建数据表/* 员工表 */CREATE TABLE `emp` ( `id` int(8) NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '', `job` varchar(9) NOT NU

2022-02-11 09:02:29 909

原创 MySQL索引下推

文章目录一、概念二、示例三、实践一、概念索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于提高查询效率。在MySQL5.6之前的版本,使用非主键索引进行查询时,存储引擎通过索引检索到数据,然后返回给MySQL Server 层,由其查询主键索引(聚簇索引),判断数据是否符合查询条件。Mysql5.6推出索引下推后,使用非主键索引进行查询时,存储引擎通过索引检索到数据,并根据索引包含的字段对数据再进行一次筛选,再返回给MySQL Serve

2022-02-10 22:00:46 832

原创 算法专栏之递归算法那些事

1、利用Master公式求递归算法的时间复杂度1、Master公式2、适用范围Master公式只适用于子问题规模相同的递归算法。什么是子问题规模相同呢?假定需要从数组中找出最大的数,并且用递归算法实现。一种比较容易想到的实现如下:参数含义:Master只适用于子问题规模相同的递归算法a表示被划分成a个相同规模的子问题b表示每个子问题处理的数据规模O(n^d)表示合并子问题解所要花费的时间复杂度复杂度的计算:①当d<logb a时,时间复杂度为O(n^(log

2022-02-09 09:30:18 347

原创 MySQL常见面试题

为什么InnoDB表必须要建主键,且推荐使用整型自增主键InnoDB表数据是使用B+ Tree进行存储,需要一个具有唯一性的字段组织形成B+ Tree。如果没有建主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引;如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引。为避免Mysql为我们维护隐性的索引,故而InnoDB表要建主键。为什么推荐使用整型索引呢?在定位某一个索引时,需要进行多次的数据比较,才能确定索引我位置,在比较速度上来说

2022-02-08 22:39:49 2825 2

原创 MySQL中SQL语句的执行过程

文章目录一、MySQL内部组件结构1.1、服务层Server1.1.1 连接器1.1.2 查询缓存1.1.3 分析器1.1.4 优化器1.2、引擎层Store二、SQL的执行过程一、MySQL内部组件结构1.1、服务层Server主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。1.1.1 连接器每个客户端与MySQL服务器通过T

2022-02-08 18:11:55 219

原创 算法专栏之位运算专题

文章目录一、位运算必备结论1、任何数与零异或结果为自身。2、任何数与自身异或结果为零。3、不使用额外变量交换两个变量的值4、提取整型变量中最右侧的`1`二、经典题目及详解2.1、只出现一次的数字1、题意2、思路3、题解2.2 只出现一次的数字II1、题意2、思路3、题解4、推广2.3 只出现一次的数字III1、题意4、推广一、位运算必备结论1、任何数与零异或结果为自身。2、任何数与自身异或结果为零。3、不使用额外变量交换两个变量的值int a = 1, b = 3;a = a^b;b = a^

2022-02-07 20:13:42 592

原创 算法专栏之贪心算法专题

文章目录一、对贪心算法的理解二、贪心算法的常见套路三、经典题目及详解3.1 分发饼干题意题解一、对贪心算法的理解贪心算法是最接近人类智慧的算法,贪心算法的思想是每次都贪图局部最优,从而得到一个全局最优解。作为一个新时代中国青年,我们懂得,如果总是贪图眼前最优,最后并不一定能够得到全局最优。所以,贪心算法也具有其局限性,部分问题通过贪心算法得到的并不是最优解。既然不是所有的问题都可以通过贪心算法来解决,那么我们又如何判断贪心算法是否适用于某一道算法题呢?其实,我们很难在算法笔试有限的时间内,通过数学证

2022-02-07 13:04:00 750

原创 关于Vue3数据更新而Table视图不更新的问题

1、现象描述2、解决方法在<el-table>中添加:key = “updateKey”,当数组billDataList中的数据发生变化时,修改updateKey的值。向billDetailList中添加数据的同时更新updateKey,则<el-table>视图会重新渲染。...

2022-01-16 19:21:27 3734 2

原创 C++学习笔记

C++的学习笔记,目前包括基础入门、核心编程、提高编程三部分,之后会边学习边完善笔记。

2022-01-12 15:24:02 1746 1

搭建nacos集群所需文件.zip

搭建nacos集群需要的jdk-8u291-linux-x64.tar.gz、nacos-server-2.0.2.tar.gz、nginx-1.20.1.tar.gz

2021-06-23

ActiveMQ配置Mysql8为持久化方式所需Jar包.rar

ActiveMQ配置Mysql8为持久化方式所需Jar包

2021-06-13

空空如也

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

TA关注的人

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