- 博客(125)
- 资源 (114)
- 问答 (7)
- 收藏
- 关注
原创 【Qt】边学边写之Qt教程(零基础)
Qt框架默认提供的标准信号和槽不足以完成我们日常应用开发的需求,比如说点击某个按钮让另一个按钮的文字改变,这时候标准信号和槽就没有提供这样的函数。但是Qt信号和槽机制提供了允许我们自己设计自己的信号和槽。函数声明在类头文件的signals域下没有返回值,void类型的函数只有函数声明,没有实现定义可以有参数,可以重载通过emit关键字来触发信号,形式:emit object->sig(参数);
2024-08-19 20:25:09 50691 111
原创 【C++面试指南】如何成为C++“糕手”?
> 1. 栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。>> 2. 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共> 享内存,做进程间通信。(Linux课程如果没学到这块,现在只需要了解一下)>> 3. 堆用于程序运行时动态内存分配,堆是可以上增长的。> 4. 数据段--存储全局数据和静态数据。> 5. 代码段--可执行的代码/只读常量。 ............
2022-08-30 09:15:51 3233 77
原创 C++基础部分代码
访问限定符:public公有的 private私有的 protected保护的。实体(属性,行为)-》ADT(abstract data type)C++ OOP面对对象 this指针。C:各种各样的函数定义 struct。C++:类==》实体的抽象类型。OOP语言的四大特征是什么?抽象 封装/隐藏 继承 多态。
2024-09-17 10:37:13 561
原创 【JDBC】DAO和增删改查通用方法 | 案例
DAO:Data Access Object访问数据信息的类和接口,包括了对数据的CRUD(Create、Retrival、Update、Delete),而不包含任何业务相关的信息。不为空,说明已存在,返回true,如果bEan是空的,没找到,bean!获取一个单一值的方法,专门用来执行像select count(*)... 这样的。作用:为了实现功能的模块化,更有利于代码的维护和升级。更新订单的状态的方法,例如已发货、确认收货等。将编译时异常转换为运行时异常向上抛。将编译时异常转换为运行时异常向上抛。
2024-08-31 10:38:57 673 1
原创 JDBC |封装JDBCUtils|PreparedStatement|事务|批处理|数据库连接池| Blob类型数据的读写|Apache—DBUtils简介
在JavaJDBC直接访问数据库JDO技术(Java Data Object)第三方O/R工具,如Hibernate, Mybatis 等JDBC是java访问数据库的基石,JDO, Hibernate等只是更好的封装了JDBC。JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统(DBMS)、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源。
2024-08-31 10:36:17 2269 1
原创 MySQL命令汇总(超详细~)
方式一:计算机——右击管理——服务方式二:通过管理员身份运行net start 服务名(启动服务)net stop 服务名(停止服务)一、用户变量SET @变量名=值;SET @变量名:=值;SELECT @变量名:=值;方式一:一般用于赋简单的值SET 变量名=值;SET 变量名:=值;SELECT 变量名:=值;方式二:一般用于赋表 中的字段值SELECT 字段名或表达式 INTO 变量FROM 表;select @变量名;二、局部变量。
2024-08-30 06:15:00 2437 5
原创 linux安装mysql5.7
可以尝试再开放一下3306端口(netstat -talnp 查看端口,即使有3306也可尝试此步)表示创建root用户,密码为123456,并且授予所有访问ip(@%)、所有库表(*.*)的访问权限。Cat /var/log/mysqld.log 在@localhost后面的为初始化密码。Systemctl status mysqld 出现绿色的running为成功。但只是创建了用户,还需要授权才能访问相应的库和表。③查看防火墙是否开启:(5.7版本)⑨查看mysql是否为自启动。
2024-08-29 07:13:23 507
原创 MySQL调优
比方说在Session 1中对一个表执行SELECT操作,就相当于为这个表加了一个表级别的S锁,如果在SELECT操作未完成时,Session 2中对这个表执行UPDATE操作,相当于要获取表的X锁,此操作会被阻塞,直到Session 1中的SELECT操作完成,释放掉表级别的S锁后,Session 2中对这个表执行UPDATE操作才能继续获取X锁,然后执行具体的更新语句。我们前边提到的锁都是针对记录的,也可以被称之为行级锁或者行锁,对一条记录加锁影响的也只是这条记录而已,我们就说这个锁的粒度比较细;
2024-08-19 11:10:27 767 2
原创 MySQL登录,访问,退出操作,卸载
mysql是MySQL的命令行工具,是一个客户端软件,可以对任何主机的mysql服务(即后台运行的mysqld)发起连接。访问MySQL服务器对应的命令:mysql.exe ,位置:C:\Program Files\MySQL\MySQL Server 8.0\bin。3)删除软件文件夹:直接删除安装文件夹C:\Program Files\MySQL,其实此时该文件夹已经被删除或者剩下一个空文件夹。:user 用户名。该命令的作用就是将数据库mysql(默认提供的四个数据库之一的名字)置为当前数据库。
2024-08-16 06:00:00 665 5
原创 MySQL8的安装
1.双击MySQL安装文件mysql-installer-community-8.0.18.0.msi,出现安装类型选项。² datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data:数据文件夹位置。² basedir="C:/Program Files/MySQL/MySQL Server 8.0/":软件安装位置。安装位置为C:\ProgramData\MySQL\MySQL Server 8.0。安装位置为:C:\Program Files\MySQL。
2024-08-16 02:30:00 1553
原创 数据库+JDBC
MySQL数据库最初是由瑞典MySQL AB公司开发,2008年1月16号被Sun公司收购。2009年,SUN又被Oracle收购。MySQL是目前IT行业最流行的开放源代码的数据库管理系统,同时它也是一个支持多线程高并发多用户的关系型数据库管理系统。MySQL之所以受到业界人士的青睐,主要是因为其具有以下几方面优点:1. 开放源代码MySQL最强大的优势之一在于它是一个开放源代码的数据库管理系统。开源的特点是给予了用户根据自己需要修改DBMS的自由。
2024-08-14 10:30:00 2236 14
原创 【数据库查询】单表查询 | 多表查询 | 子查询
查询的大概流程给查询的具体的列(给列加筛选条件-----“函数”)where给查询的结果套上相应的要求。对最终的查询结果进行分组、排序。
2024-08-11 21:22:05 539
原创 【数据库】函数
MySQL里提供了大量函数,这里的函数相当于功能模块(封装了一些SQL语句),简化了SQL的使用。(Python里的数据库,java里的封装)//函数分类单行函数:对单个数据运算,返回一个结果多行函数(分组函数):对一组数据运算,返回一个结果除了多行函数(sum、count、avg、max、min),剩下的都是单行函数。
2024-08-11 21:14:41 406
原创 MySQL的数据类型
1个二进制的计数位为1个比特位 8个比特位 (00000000 11111111)无符号(0 2*8-1) 有符号(-2*8 2*8-1)表中的列有4种数据类型:整型、浮点数型、字符串类型、日期和时间类型。一个字节=8个比特位。
2024-08-11 21:12:42 351
原创 基础语法 | sql语句 | 完整性约束【数据库】
创建表//显示详细的表的信息结构//显示表中所有的信息//显示创建该表的SQL语句//删除整张表//删除表//删除表中的记录//有条件的删除表中的记录//在表中插入数据//有条件的查询表中的内容男//有条件地在表格修改数据男//把表格中选定的整列数据都给替换了表名rename to新表名;//修改表名表名列名;//删除表中的具体列表名change列名新列名//修改表中列的名字表名modify列名。
2024-08-11 21:10:53 1295
原创 MySQL软件的介绍
(3)MySQL的配置文件:C:\ProgramData\MySQL\MySQL Server 8.0\my.ini(端口号、基础文件夹)我们可以通过函数代替许多的查询语句,以达到我们的要求-------------------脚本、自定义函数。(2)数据文件夹,存放MySQL的基础数据和以后新增的数据:C:\ProgramData\MySQL。关闭端口-----点击卸载程序------删除文件残留------删除环境变量。(1)程序运行文件的位置:C:\Program Files\MySQL。
2024-08-11 20:55:27 398
原创 数据库的基本概念
指对客观事物进行描述并可以鉴别的符号。这些符号是可识别的,抽象的。比如数字、图片、音频等。:数据库极其管理它的软件组成。:数据库管理系统以及软硬件、操作人员等其它系统组成。:NoSQL(非关系型数据库) RDBMS(关系型数据库):数据库管理系统下支撑建立的计算机应用系统。数据库管理系统的功能:关系型数据库一组数据操作必须组成一个整体,要么全部完成,要么全部取消。原子性Atomicity、一致性Consistency、隔离性Isolation、持久性DurabilityACID特性。
2024-08-08 22:38:09 890
原创 Redis之golang编程实战
Redis字符串存储字节序列,包括文本、序列化对象和二进制数组。因此,字符串是最基本的Redis数据类型。它们通常用于缓存,但它们支持额外的功能,允许您实现计数器并执行按位操作。默认情况下,string 的最大尺寸为:512MB。大多数的 string 操作时间复杂度为:O(1)。但 SUBSTR, GETRANGE, SETRANGE 命令的时间复杂度为O(n)。Redis位图是字符串数据类型的扩展,可以将字符串视为位向量。您还可以对一个或多个字符串执行按位操作。
2024-08-08 22:25:04 916
原创 微服务架构
学习目标 什么是微服务架构? 服务应该如何拆分? 微服务架构带来了哪些问题?以及如何去解决这些问题。 典型架构图微服务架构知识内容: 应用由多个服务构成。 服务独享自身数据。 服务会共享配置,使用配置中心来支持。 服务还会共享中间件,主要缓存、消息队列、搜索、日志等。 服务间需要通信,第一步需要找到目标服务。需要服务注册中心,提供服务注册和发现。 服务需要通信,规范通信协议,典型的协议:gRPC,RestFul
2024-08-01 09:15:00 1603 5
原创 Go语言语法更新
泛型类型可以作为其他泛型类型的基础类型来定义,示例:// 用在类型定义时// 用在结构体字段中// 用在map中interface{} 表示任何类型的集合,可以使用关键字 any表示。any 的定义:有需要的话,命令:可以将 interface{} 全部更新为 any。
2024-07-28 22:31:10 1062
原创 WebSocket程序设计
WebSocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。Websocket主要用在B/S架构的应用程序中,在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接, 并进行双向数据传输。它的最大特点就是,,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。WebSocket 协议在2008年诞生,2011年成为国际标准。
2024-07-28 22:29:25 407
原创 网络轮询器 NetPoller
网络轮询器是 Go 语言运行时用来处理 I/O 操作的关键组件,它使用了操作系统提供的 I/O 多路复用机制增强程序的并发处理能力。网络轮询器不仅用于监控网络 I/O,还能用于监控文件的 I/O,它利用了操作系统提供的 I/O 多路复用模型来提升 I/O 设备的利用率以及程序的性能。
2024-07-28 22:28:43 377
原创 UDP程序设计
UDP提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份。缺乏可靠性,缺乏拥塞控制(congestion control)。
2024-07-28 22:27:43 502
原创 TCP程序设计
连接池作用:复用连接设计池与生产隔离池的管理生产连接管理适用于任何资源的池编码channelselectInterface使用连接池使用多goroutine并发模拟使用扩展:将TCP连接池,扩展为支持任何类型的资源。
2024-07-28 22:26:36 334
原创 MySQL8新特性
一个staff表,里面有id,有name还有一个 m_id,这个是对应的上级id。数据如下:如果我们想查询出每一个员工的上下级关系,可以使用以下方式递归CTE:union ALL使用通用表表达式的好处就是上下级层级就算有4,5,6甚至更多层,都可以帮助我们遍历出来,而老的方式的写法SQL语句就要调整。
2024-07-24 08:30:00 631
原创 MySQL8新特性底层原理
MySQL 8.0开始真正支持降序索引 (descendingindex)。只有InnoDB存储引擎支持降序索引,只支持BTREE降序索引。另外MySQL8.0不再对GROUP BY操作进行隐式排序。在MySQL中创建一个t2表如果是5.7中,则没有显示升序还是降序信息我们插入一些数据,给大家演示下降序索引的使用看下索引使用情况我们在5.7对比一下这里说明,这里需要一个额外的排序操作,才能把刚才的索引利用上。我们把查询语句换一下MySQL8中使用了。
2024-07-22 08:45:00 681
原创 MySQL性能优化
慢查询日志,顾名思义,就是查询花费大量时间的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。如何开启,我们稍后再说。1.3.2.1.1慢查询基础-优化数据访问查询性能低下最基本的原因是访问的数据太多。大部分性能低下的查询都可以通过减少访问的数据量的方式进行优化。
2024-07-20 07:30:00 676
原创 Go网络编程-RPC程序设计
RPC, Remote Procedure Call,远程过程调用。与 HTTP 一致,也是应用层协议。该协议的目标是实现:调用远程过程(方法、函数)就如调用本地方法一致。如图所示:说明:ServiceA 需要调用 ServiceB 的 FuncOnB 函数,对于 ServiceA 来说 FuncOnB 就是远程过程即可完成调用RPC 是 C/S 模式,调用方为 Client,远程方为 ServerRPC 把整体的调用过程,数据打包、网络请求等,封装完毕,在 C、S 两端的 Stub 中。
2024-07-18 23:01:13 1168
原创 Go网络编程-HTTP程序设计_2
Go编写HTTP服务器,用 Go实现一个非常容易,Go 语言标准库net/http自带了一系列结构和方法来帮助开发者简化 HTTP 服务开发的相关流程。因此,我们不需要依赖任何第三方组件就能构建并启动一个高并发的 HTTP 服务器。
2024-07-18 22:54:47 1184
原创 Go语言并发编程-Goroutine调度
整体上看go func() 创建Goroutine将Goroutine放入队列放入本地队列本地队列满,放入全局队列M通过P获取G运行从本地队列获取G从其他P的本地队列获取G从全局队列获取GM执行G调度周期循环执行GG主动让出G执行系统调用G执行系统调用解绑G和PP抢占其他的M继续执行系统调用的G结束,将G放入其他P队列执行,M空闲若G执行完毕,释放。
2024-07-18 22:54:21 888
原创 Go语言并发编程-Context上下文
Go 1.7 标准库引入 context,译作“上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止时间、k-v 等。随着 context 包的引入,标准库中很多接口因此加上了 context 参数,例如 database/sql 包。context 几乎成为了并发控制和超时控制的标准做法。。
2024-07-18 22:51:23 1056
原创 Go语言并发编程-Channel通信_2
Channel的结构定义为qcount uint // 元素个数。len()dataqsiz uint // 缓冲队列的长度。cap()buf unsafe.Pointer // 缓冲队列指针,无缓冲队列为nilelemsize uint16 // 元素大小elemtype *_type // 元素类型//lock mutex其中:存储空间分为channel和channel.buf两块。
2024-07-18 22:50:19 1316
原创 Go语言并发编程-同步和锁
同步是并发编程的基本要素之一,我们通过channel可以完成多个goroutine间数据和信号的同步。除了channel外,我们还可以使用go的官方同步包sync,sync/atomic 完成一些基础的同步功能。主要包含同步数据、锁、原子操作等。一个同步失败的示例:// 计数器// 多个goroutine并发的累加计数器gs := 100wg.Add(gs)for i := 0;i < gs;i++ {// 累加for k := 0;k < 100;
2024-07-18 22:47:00 668
原创 MySQL中的锁
IS、IX锁是表级锁,它们的提出仅仅为了在之后加表级别的S锁和X锁时可以快速判断表中的记录是否被上锁,以避免用遍历的方式来查看表中有没有上锁的记录。就是说其实IS锁和IX锁是兼容的,IX锁和IX锁是兼容的。我们画个表来看一下。
2024-07-18 22:33:35 1098
原创 InnoDB引擎底层解析
InnoDB的内存结构和磁盘存储结构图总结如下:其中的Insert/Change Buffer主要是用于对二级索引的写入优化,Undo空间则是undo日志一般放在系统表空间,但是通过参数配置后,也可以用独立表空间存放,所以用虚线表示。
2024-07-09 12:45:00 433 1
原创 事务和事务的隔离级别
1、如果被访问版本的trx_id属性值与ReadView中的creator_trx_id值相同,意味着当前事务在访问它自己修改过的记录,所以该版本可以被当前事务访问。2、如果被访问版本的trx_id属性值小于ReadView中的min_trx_id值,表明生成该版本的事务在当前事务生成ReadView前已经提交,所以该版本可以被当前事务访问。
2024-07-06 10:45:00 513 2
该软件是一款用于反向网络连接工具,打破某些学校校园网在线客户端的限制
2024-04-27
mysql教程大全,必知必会,面试必用
2024-08-31
c语言输入输出流问题
2024-03-01
本地web文件在服务器运行为啥出现残缺问题
2022-10-25
for循环了多少次,执行内部语句的最少执行
2022-10-14
C语言的一道输入输出格式结果问题
2022-10-14
类外不是不能去调用私有成员变量吗
2022-08-08
为什么编译器显示语法有问题,运行却成功
2022-08-08
C/C++系统学习路线
2022-07-11
暑假到了,我们该怎么利用长达两个月时间的假期呢?
2022-06-14
vscode的输入小写字母t出错
2022-06-09
(gcc)编译文件过程
2022-05-14
数据结构和算法怎么学呀?
2022-04-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人