- 博客(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++类对象默认生成的8个成员函数
如果在定义的同时进行赋值(2和5),等价于用已有对象初始化新对象(3和6),则调用的是构造函数,如第2和第5调用的分别是拷贝构造和移动构造;如果在定义后,再进行赋值,则调用的是赋值运算符(4和7)。
2024-10-14 19:01:34
346
原创 消息队列RabbitMQ
RabbitMQ是基于Erlang语言开发的开源消息通信中间件,支持AMQP,XMPP,SMTP,STOMP协议,消息延迟时微秒级别的。Ubuntu系统RabbitMQ的安装。
2024-10-02 22:58:44
1703
原创 深入理解MySQL锁与事务
文章目录一、事务及其属性二、锁机制三、间隙锁与临键锁一、事务及其属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。原子性(Atomicity) :事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。(操作层面一致)一致性(Consistent) :在事务开始和完成时,数据都必须保持一致状态。例如,用户付款成功,订单状态和库存必须保持一致。(数据层面一致)隔离性(Isolation) :数据库系统提供一定的隔离机制,保证事务在不受
2024-09-27 10:06:21
808
原创 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
原创 详解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
搭建nacos集群所需文件.zip
2021-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人