- 博客(316)
- 资源 (2)
- 问答 (20)
- 收藏
- 关注

原创 聚簇索引、非聚簇索引、联合索引、唯一索引
也就是说,聚簇索引的叶子节点中,包含了一个完整的记录行。非聚簇索引也叫辅助索引、普通索引,它的叶子节点只包含一个主键值,通过非聚簇索引查找记录要先找到主键,然后通过主键再到聚簇索引中找到对应的记录行,这个过程被称为回表。新版本的MySQL(5.6以上)中引入了索引下推的机制:可以在索引遍历过程中,对索引中包含的字段先做判断,直接过滤掉不满足条件的记录,减少回表次数。联合索引指的是同时对多列创建的索引,创建联合索引后,叶子节点会同时包含每个索引列的值,并且同时根据多列排序,这个排序和我们所理解的字典序类似。
2024-01-10 09:16:44
3672
1

原创 MySQL索引优化
MySQL官方对于索引的定义:索引是帮助MySQL高效获取数据的数据结构。MySQL在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据,这样我们就可以通过数据结构上实现的高级查找算法来快速找到我们想要的数据。而这种数据结构就是索引。简单理解为“排好序的可以快速查找数据的数据结构”。
2024-01-02 09:50:28
984

原创 JDBC->SpringJDBC->Mybatis封装JDBC
1、什么是JDBCJDBC(Java Data Base Connectivity, Java数据库连接) 是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问 ,它由一组用Java语言编写的类和接口组成。2、有了JDBC,程序员只需用JDBC API写一个程序,就可访问所有数据库。(常用的框架Hibernate、MyBatis底层都是JDBC,都是对JDBC的封装)
2024-01-01 13:42:45
2034

原创 Java线程池体系(超详细)【从0到自定义线程池】
是 Java 中的一个抽象类,它是接口的一个实现。提供了一些默认实现,以简化的实现要实现很多方法的问题。①自定义工具类。包装自定义线程池,对外提供静态方法方便使用。这里为了方便测试,核心线程1,最大线程10,缓存队列10,该线程池最大接收20个任务static {@Overridereturn t;@Override。
2023-12-25 16:48:28
3412
1

原创 RocketMQ从入门到精通
RocketMQ 是阿里开源的分布式,跟其它中间件相比,RocketMQ 的特点是纯JAVA实现,是一套提供了消息生产,存储,消费全过程API的软件系统。
2023-12-20 16:03:39
971
原创 Git零基础到入门
创建一个新的空 Git 仓库或重新初始化现有的仓库,新建git项目。: 创建、列出、删除或验证一个由 GPG 签名的标签对象。: 显示提交之间的差异,提交与工作树之间的差异等。: (增)将文件内容添加到索引(准备提交)。: (改)移动或重命名文件、目录或符号链接。: 使用二分查找来定位引入错误的提交。: 从另一个仓库或本地分支获取并合并。: 在另一个基础之上重新应用提交。: 在部分克隆中下载缺失的对象。: 从另一个仓库下载对象和引用。: 更新远程引用及其关联的对象。: 克隆一个仓库到新的目录。
2024-11-10 19:35:33
961
1
原创 MongoDB数据恢复
注意:两个MongoDB的版本要一致,本文使用的是mongo:4.2.24。先把K8S上面的MongoDB 容器停止(可以把副本改成0)。1、将容器挂载MongoDB的数据目录备份到本地。经常是数据文件损坏,需要修复。2、 Windows 下载MongoDB程序。3、到MongoDB的bin目录下,执行。5、K8S上面的MongoDB 容器启动。如果修复正常,再将文件覆盖会挂载目录。
2024-10-17 13:19:24
453
原创 nginx从入门到精通
正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端.反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端。
2024-10-08 10:47:09
1211
原创 MySQL查询优化
从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端。其中“执行”可以认为是整个生命周期中最重要的阶段,这其中包括了大量为了检索数据到存储引擎的调用以及调用后的数据处理,包括排序、分组等在完成这些任务的时候,查询需要在不同的地方花费时间,包括网络,CPU计算,生成统计信息和执行计划、锁等待(互斥等待)等操作,尤其是向底层存储引擎检索数据的调用操作,这些调用需要在内存操作、CPU操作和内存不足时导致的I/O操作上消耗时间。
2024-10-06 13:15:29
1050
原创 数据库语句优化
如SQL:SELECT * FROM A order by rand() limit 10 优化为:SELECT * FROM A WHERE id >= ((SELECT MAX(id) FROM A)-(SELECT MIN(id) FROM A)) * RAND() + (SELECT MIN(id) FROM A) LIMIT 10。
2024-10-06 13:14:48
877
原创 设计模式的七大原则
现在,如果需要添加新的图表类型(例如饼状图),只需创建一个新的类(如PieChart),让它继承自AbstractChart,并实现display()方法。面向对象的开发很好的解决了这个问题,一般情况下抽象的变化概率很小,让用户程序依赖于抽象,实现的细节也依赖于抽象。类中该方法的预期行为(比如,没有改变车辆启动的基本含义或引入不可接受的行为变更,即车开起来细化一下,可以是汽车,公交车,卡车开起来,但都比车这个范围更小更细化),这就遵循了里氏替换原则。这样可以减少不必要的耦合,提高系统的灵活性和可维护性。
2024-07-12 11:50:36
1244
1
原创 Java中Date.getDay划线废弃?日期类总结
CST可以为如下4个不同的时区的缩写: 美国中部时间:Central Standard Time (USA) UT-6:00澳大利亚中部时间:Central Standard Time (Australia) UT+9:30中国标准时间:China Standard Time UT+8:00古巴标准时间:Cuba Standard Time UT-4:00。协调世界时,又称世界统一时间、世界标准时间、国际协调时间。Date类的很多方法被废弃,归根结底是有缺陷、有问题,已经被新的、更完善的类、方法替代了。
2024-05-17 17:15:06
747
1
原创 npm run dev启动过程及npm run serve区别
它是通过在命令行中运行 "npm run dev" 来启动的,实际上执行的是 package.json 文件中的 "scripts" 部分中定义的 "dev" 命令。pnpm( performant npm )指的是高性能的 npm,与 npm 和 yarn 一样是一款包管理工具,其根据自身独特的包管理方法解决了 npm、yarn 内部潜在的安全及性能问题,在多数情况下拥有更快速的安装速度、占用更小的存储空间,结合官网给出的性能测试及项目中的使用表现,其具有良好的应用前景。
2024-05-17 17:12:52
4418
原创 类(接口)图几种箭头含义
聚合是整体和个体之间的关系。例如,汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。聚合强调的是整体和个体之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。概念:表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的。
2024-02-18 22:23:40
2926
原创 WebSocket 通信流程,注解和Spring实现WebSocket ,实战多人聊天室系统
实现即时通信常见的有四种方式-分别是:轮询、长轮询(comet)、长连接(SSE)、WebSocket。轮询(Polling)长轮询(Long-Polling)Websocket长连接(SSE)通信协议httphttptcphttp触发方式client(客户端)client(客户端)client、server(客户端、服务端)client、server(客户端、服务端)优点兼容性好容错性强,实现简单比短轮询节约资源全双工通讯协议,性能开销小、安全性高,可扩展性强。
2024-02-10 13:29:26
3438
原创 (超全七大错误)Invalid bound statement (not found): com.xxx.dao.xxxDao.add
在resources中不能用连.pom中加上以下代码。
2024-01-25 21:38:05
562
原创 数据库join类型、hash join详解
hash join是一种数据库在进行多表连接时的处理算法,对于多表连接还有两种比较常用的方式:sort merge-join 和 nested loop。为了比较清楚的介绍hash join的使用场景以及为何要引入这样一种连接算法,这里也会顺带简单介绍一下上面提到的两种join方式。连接方式是一个什么样的概念,或者说我们为何要有而且有好几种,对于不太了解数据库的人来讲可能这些是开头的疑惑。
2024-01-18 13:53:28
2741
原创 Oracle/DM序列基本使用
序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。序列是一个计数器,它并不会与特定的表关联。通过创建Oracle序列和触发器实现表的主键自增。序列的用途一般用来填充主键和计数。序列用于生成唯一、连续序号的对象、序列是可以升序、降序的。
2024-01-16 11:49:15
1023
原创 Spring配置提示: File is included in 4 contexts
解决方法:点击项目右键选择Open Moudle Setting 或者 F12 —>打开Project Structure —> 选择Modules -> 选择Spring ->先点减号把之前的都删除掉 ->然后点加号直选点项目 全部添加就好。所谓File is included in 4 contexts是因为spring的配置文件放在了多个上下文中,只需找到以上位置,然后保留一个spring的上下文就OK了。导致原因:因为所有的配置文件都没有放在同一个上下文中。
2024-01-06 17:26:36
746
原创 Cannot resolve property ‘driverClassName‘
仔细查看报错信息,提示说没有属性的set方法,因为我采用了lombok插件,加上了Data注解,但这里插件没有生效,系统无法查询到属性对相应的set 方法,在手动加上set方法后,错误消失。1、重新加载spring文件就可以解决问题了(就是先-掉然后再重新+进来)已解决 Cannot resolve property 错误。2、清理idea缓存,重启idea。但是都没有解决我的问题。
2024-01-06 17:25:28
952
原创 云计算基础、Iass、Pass、Sass区别
云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务。
2023-12-30 00:25:43
11155
1
原创 报错org.apache.ibatis.builder.BuilderException: The expression ‘list‘ evaluated to a null value.解决
使用foreach标签时,SQL中循环对象list为null,导致报错,仔细看看SQL吧。
2023-12-30 00:13:10
1106
原创 Parameter ‘0‘ not found.Available parameters are [arg1, arg0, param1, param2]的解决方法
错误信息表明在MyBatis中存在参数绑定的问题,具体为找不到名为'category'的参数。MyBatis无法找到'category'参数,并列出了可用的参数为'arg1'、'arg0'、'param1'和'param2'。mybatis的dao层函数参数列表有多个参数,直接传到mapper.xml匹配报错!使用#{arg0}和#{arg1}来告诉mybatis,当前变量使用哪个参数的值。HashMap类型作为传入类型(不修改mapper.xml)使用注解@Param。
2023-12-30 00:09:10
2737
原创 java的Timer全网最详细总结
在Java 1.3版本中引入了Timer工具类,它是一个古老的定时器,通常与TimerTask和TaskQueue一起使用。Timer工具类的实现涉及到TimerTask类、Timer类、TimerQueue类和类。其中,TimerQueue和类与Timer类位于同一个类文件中,由Timer类内部调用。。对Timer做了许多改进,并提供了更多的功能和工具,可以看作是对Timer的改进和替代。为什么还要介绍Timer工具类呢?通过了解Timer的功能和它背后的原理,我们可以更好地对比和理解。同时,
2023-10-15 13:10:40
381
原创 javaAPI文档中文版秒开
javaAPI文档中文版:https://www.runoob.com/manual/jdk11api/index.html
2023-10-14 20:29:42
1060
原创 vue中===与==
在这个例子中,a和b的类型不同,a是一个数字,b是一个字符串。使用===运算符进行比较时,由于类型不同,它返回了false。而使用==运算符进行比较时,它会尝试将b转换为数字,然后发现它们的值相等,所以返回了true。在实际开发中,建议使用===运算符来进行严格的比较,因为它可以避免一些隐式的类型转换,帮助我们准确判断值是否相等。
2023-10-02 13:34:22
2590
原创 json/js对象的key有什么区别?
一个js对象如果是这样的对于js对象来说,有时候key是不用加引号的,什么时候不加?那就是当key是符合标识符规则的时候不用加。
2023-09-29 10:34:29
607
原创 DAO和XML文件参数和返回值
2.如果sql查询结果返回的是单一记录列名和实体类中的字段名一致,可以使用resultType,MyBatis会自动把查询结果赋值给和字段名一致的字段。如果sql查询结果返回的列名和实体类中的字段名一致,可以使用resultType,MyBatis会自动把查询结果赋值给和字段名一致的字段。这样把相应的数据库字段映射到创建的实体类,column代表的是数据库中字段名字,property代表的是创建的实体类中相应的字段名,也可以只修改不一样的字段名,也能得到同样的结果。那么两者之间有什么区别呢?
2023-08-03 22:38:41
1024
原创 json数组能不能放到hashmap中
但是,由于 Java 语言中也使用双引号来表示字符串,因此如果您想要在 Java 代码中编写 JSON 字符串,您需要在字符串中对 JSON 字符串中的双引号进行转义,以区分 Java 字符串和 JSON 字符串中的双引号。在给定的字符串中,每个对象都由一对花括号包围,对象的属性名和属性值之间使用冒号分隔,属性之间使用逗号分隔。在这个字符串中,每个 JSON 对象都由一对花括号包围,对象的属性名和属性值之间使用冒号分隔,属性之间使用逗号分隔。在给定的字符串中,双引号被转义,以便在 Java 代码中使用。
2023-05-27 13:01:14
1279
原创 Java的运行机制详解
其中JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要类加载器,字节码校验器以及Java的基础类库等。使用Java语言进行程序设计时,不仅要了解Java语言的特点,还要了解Java程序的运行机制。首先将扩展名为java的源文件进行编译,生成扩展名为class 的字节码文件,然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。为了让初学者能更好地理解Java程序的运行过程,接下来以1.4节中的例1-1为例,通过图1-17来详细地分析程序的执行过程。
2023-03-19 21:24:17
3030
原创 @JsonFormat与@DateTimeFormat
我这里就只贴这两个属性了,这里我两个注解都同时使用了,因为我既需要取数据到前台,也需要前台数据传到后台,都需要进行时间格式的转换,可以同时使用。完成上面两步之后,我们用对应的实体类来接收数据库查询出来的结果时就完成了时间格式的转换,再返回给前端时就是一个符合我们设置的时间格式了。提示:@JsonFormat注解可以在属性的上方,同样可以在属性对应的get方法上,两种方式没有区别。在你需要查询出来的时间的数据库字段对应的实体类的属性上添加@JsonFormat。pattern:是你需要转换的时间日期的格式。
2023-03-18 20:57:21
1016
1
原创 HTML和ftl的关系
将网页以纯静态化的形式展现,就可以使用Nginx这样的高性能的web服务器来部署。将动态页面转化成静态的html,降低与数据库的交互次数,提高页面的访问速度。1. 提前根据模板和数据生成静态化页面通过io流将页面写入到硬盘上, 访问的时候直接访问。1.模板在freemarker中是以.ftl为后缀名的文件, 在模板中可以使用html标签, css, js,图片等静态资源。利用第三方提供的模板引擎,生成对应的html,常见的模板引擎有:thymeleaf、freemarker、velocity。
2023-03-17 17:18:13
1030
原创 日志Logger类
示例:protected static final Logger logger = LoggerFactory.getLogger(XYZ.class);目的:使用指定的类XXX初始化日志对象,方便在日志输出的时候,可以打印出日志信息所属的类。输出:XYZ:hello world。
2023-03-16 19:40:16
214
原创 常见的系统架构
服务层Service:系统的业务逻辑主要在这里编写,一个service中可以创建各种类型的Dao,所谓业务逻辑,就是我从前端得到数据了,Dao也给我数据库中数据了,把这两个数据进行处理,最简单的是密码比对。MVC中的M(Model)包括了数据承载Bean和业务处理Bean,其中业务处理Bean分为Service或Dao对象,分别对应业务逻辑处理和数据库操作,它们对应的是三层架构中的Service层和Dao层。SpringMVC的Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应。
2023-03-16 16:30:10
551
原创 Ajax和JSON的基本用法
会将原来的页面销毁掉,重新生成另一张页面,但是在原来的页面中有不需要刷新的页面,我们想要的效果只是小部分区域进行显示刷新出来的内容,这时就要用到Ajax。结果:当send执行没有结束,没有收到响应,不会执行console.log("请求已经发送");解决:中途导入的jar包和依赖没有被out出来,最后允许的目录在Out,如果jar添加了,out没有,那么此时需要手动添加。注意:ajax请求返回的不再与展现相关,而是纯纯的数据,浏览器接受后要考虑如何展示。解决:tomcat选择的时候选错了。
2023-03-09 11:37:38
743
原创 JavaWeb基础
Servlet 是在服务器上运行的小程序。这个词是在 Java applet的环境中创造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(Common Gateway Interface,CGI)应用程序完成的。然而,在服务器上运行 Java,这种程序可使用 Java 编程语言实现。在通信量大的服务器上,JavaServle
2023-03-07 21:20:20
1672
原创 VUE3.0的简单使用
原来的时候数据都需要var定义并且用InnerHTML很麻烦,vue简化了这种操作。切换图片案例:体会Vue封装了DOM,我们直接用Vue,不用再去处理DOM。
2023-03-06 13:47:39
1267
原创 ES6的简单使用
由于var命令的变量提升机制,var命令实际只会执行一次,而let命令不存在变量提升,所以每次循环都会执行一次,声明一个新变量(但初始化的值不同),for的每次循环都是不同的块级作用域,let声明的变量也是块级作用域,所以也不存在重复声明的问题,let声明变量的for循环里,每个匿名函数实际上引用的都是一个新的变量。每⼀次for循环的时候,settimeout都执⾏⼀次,但是⾥⾯的函数没有被执⾏,⽽是被放到了任务队列⾥⾯,等待执⾏,for循环了5次,就放了5次,当主线程执行完成后,才进入任务队列里面执行。
2023-03-03 21:32:40
955
简单算法统计各单位12个月份的情况
2023-10-13
超简单问题,急nginx支持Ipv6,GPT一律不采纳
2023-08-29
ipv6升级,nginx需要更改什么吗?
2023-08-21
入门级别的一段VUE前端拍照像后端发送请求的代码,帮排错
2023-06-07
简单的DNS域名解析原理细 节
2022-02-13
JAVA一个接口有多个实现类,用到什么知识?是多态吗?
2021-12-13
判读素数,哥德巴赫猜想” (10 分) 著名的“哥德巴赫猜想”的大致意思是:
2021-12-10
IDEA的resource下的文件夹为什么没有小点?
2021-07-21
IDEA的JAVA简单增删改查框架项目,运行出现404,是什么原因?
2021-07-21
C++指针用法,帮我把涉及指针这块解释一下
2021-11-05
计算机组成原理一道浮点运算题目
2021-11-10
一维数组递推怎么优化?
2021-10-31
刚学springboot简单的增删改查服务层调用,测试的时候查询全部报错,求解答
2021-10-24
刚学在Spring Boot项目整合Mybatis实现增删改查的过程中测试类出现 Could not autowire. No beans of 'RoleMapper' type found.
2021-10-07
管理系统打成war包,登录时候显示操作失败,本地运行可以
2021-09-25
Python3-1 流程控制(分支结构)超简单PTA题目具体内容见下图
2021-09-12
一句JAVA语法,解释一下
2021-09-01
(简单的问题,js稍微修改)如何调整js页面摄像头的位置?
2021-08-27
物联网云平台管理系统+实时监测的思路怎么实现?25块
2021-08-02
js代码加载不上,总是404,代码出现错误Failed to load resource: the server responded with a status of 404 ()?
2021-08-03
物联网云平台管理系统+实时监测的思路怎么实现?
2021-08-02
简单的表单提交格式校验,总是不执行,跳过了,不知道错在哪?
2021-07-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人