自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_1424674116的博客

面对学者碰到的问题,和遗忘知识点回顾

  • 博客(85)
  • 收藏
  • 关注

原创 我的创作纪念日

在 CSDN 这个大家庭里,我不仅收获了技术上的成长和进步,更重要的是结识了许多志同道合的朋友,与他们相互学习、交流,共同进步。展望未来,我充满信心。在未来的创作之路上,我将继续保持初心,不断学习、努力创作,为大家带来更多有价值、有意义的作品,与大家一同成长,一同前行!那是一个充满期待和不安的时刻,我不知道我的作品会得到怎样的反响,但我坚信着自己的能力和付出,所以我勇敢地迈出了第一步。今天,我怀着无比激动的心情迎来了我在 CSDN 上的创作纪念日,这是一个特别的日子,让我感慨万千,充满了感恩之情。

2024-06-04 16:45:36 302

原创 MongoDB(介绍,安装,操作,Springboot整合MonggoDB)

MongoDB中文网MongoDB是一个基于分布式文档型存储的NoSQL数据库。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB由C++语言编写,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

2024-05-26 00:01:32 928

原创 天机项目(使用Jenkins实现自动化部署,开发的一些规范,修改bug的流程,项目环境的搭建,git分支管理规范,享元模式)

答:我们公司有个运维,项目的部署、各种环境的搭建处理都是他负责的。因为不同的环境中相关的中间件都是独立部署的:即有开发环境的nacos、测试环境的nacos、预发环境nacos、生产nacos,都是独立的部署信息,因此我们多环境配置文件也主要是修改这些信息。细心的读者一定会发现,我们的判断逻辑是:!如果部署的微服务不在本地,我们可以采用Idea的远程调试功能(此功能一般仅dev环境才会开启,test-pre-prod会做端口禁用,禁止debug,因为一旦debug就会阻塞用户请求了,这点需要意识到)。

2024-05-19 22:07:22 706

原创 分布式事务(分布式事务的问题,CAP定理和BASE理论,Seata,Seata的事务模式,Seata高可用)

Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。,其中的文档、博客中提供了大量的使用说明、源码分析。CAP定理C:一致性。分布式系统的多个节点数据和状态要保持一致。靠数据同步实现A:可用性。访问分布式系统的任意节点,都要立即给出响应,不能阻塞、不能拒绝P:分区容错性。分布式系统出现问题形成多分区,整个系统应该继续正常提供服务CAP矛盾:首先分布式系统必须要满足P分区容错性,A和C矛盾。

2024-05-10 02:41:46 997

原创 RabbitMQ高级(MQ的问题,消息可靠性,死信交换机,惰性队列,MQ集群)【详解】

当我们的生产者发送一条消息后,这条消息最终会到达消费者。那么在这整个过程中任何一个环境出错,都可能会导致消息的丢失,而导致不够可靠。可能出问题的环节有:生产者发送消息到Broker时 丢失:消息未送达Exchange消息到达了Exchange,但未到达QueueBroker收到消息后丢失:MQ宕机,导致未持久化保存消息消费者从Broker接收消息丢失:消费者接收消息后,尚未消费就宕机针对这些问题,RabbitMQ给出了对应的解决方案生产者发送消息丢失:使用生产者确认机制。

2024-05-08 04:32:23 1000

原创 Redis高级(Redis持久化,Redis主从模式,Redis哨兵模式,Redis分片集群)

所谓持久化,指的是数据的永久保存。Redis是一个内存数据库,它的所有数据都在内存中,所以有极高的读写性能,但是内存中的数据全部是临时的,所以一旦Redis进程结束,所有数据就会清空了。为了防止这样的问题,Redis提供了持久化机制:RDB模式:快照模式,默认是开启状态的AOF模式:日志模式注意:在后续的所有演示中,只要修改了配置文件,就必须要重启redis服务单节点的Redis服务支持的并发是有限的:所有客户端的请求全部冲击到仅有的一台服务器上,服务器可能因为压力过大而阻塞不能及时响应。

2024-05-07 01:16:14 910

原创 ElasticSearch02(DSL查询文档,DSL处理结果,RestClient查询,旅游案例,数据聚合)【全详解】

DSL搜索POST /索引/_search"sort":[],"from":0,"size":10,POST /索引/_search"query":{"match":{"字段名": "值"POST /索引/_search"query":{"term":{"字段名": "值"POST /索引/_search"query":{"range":{"字段名": {"gt": 最小值,"lt": 最大值。

2024-05-05 16:00:06 985

原创 ElasticSearch01(ES简介,安装ES,操作索引,操作文档,RestAPI)【全详解】

ES是什么?是一个开源的搜索引擎,可以从海量数据里快速找到目标数据ES为什么快?其中有一个原因就是使用了倒排索引正向索引:找到一条数据记录,判断是否符合条件。可能会出现全表扫描倒排索引:直接根据搜索条件,定位到符合条件的文档数据。不会有全表扫描,性能更高ES和MySQL(关系型数据库)的对比共同点:都可以增删改查数据不同点:MySQL或其它关系型数据库:擅长事务型的操作,增删改,因为有严谨的事务保证数据的一致性和完整性。

2024-05-03 23:57:11 1212 2

原创 RabbitMQ(MQ介绍,RabbitMQ安装,SpringAMQP,消息json转换,@Bean方式声明队列和交换机)

Message Queue消息队列Message Queue,消息队列消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。AMQP,Advanced Message Queuing Protocol,高级消息队列,是一种网络协议。它是应用层协议的一个开发标准,为面向消息的中间件而设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端、中间件不同产品、不同编程语言的限制。

2024-04-30 23:42:52 842

原创 Docker(Docker的安装和介绍,常用命令,镜像制作,服务编排,docker私服)

我们写的代码会接触到好几个环境:开发环境、测试环境以及生产环境等等。多种环境去部署同一份代码,由于环境原因往往会出现软件跨环境迁移的问题(也就是“水土”不服针对这种问题如何解决?我们可以将工程及此工程依赖的所有软件打包到一个容器中统一部署Docker 是一个开源的应用容器引擎,基于Go 语言并遵从 Apache2.0 协议开源。它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

2024-04-29 19:13:30 1409 2

原创 SpringCloud02(远程调用Feign,网关Gateway,配置中心Nacos)

Feign是Netflix公司提供服务调用组件,单独使用Feign比较麻烦。SpringCloud对Feign做了集成封装,提供了声明式服务调用组件Open-Feign。Open-Feign支持SpringMVC注解。是Spring Cloud提供的一个声明式的伪Http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一个注解即可。Feign默认集成了Ribbon,所以使用Feign默认就具备负载均衡的效果。在微服务架构中,一个系统会被拆分为很多个微服务。

2024-04-28 02:25:02 1548

原创 SpringCloud(微服务介绍,远程调用RestTemplate,注册中心Nacos,负载均衡Ribbon,环境隔离,进程和线程的区别)【详解】

什么是微服务,微服务有哪些特征SpringCloud是什么SpringCloud与Dubbo的区别微服务的实现方式很多,例如dubbo+zookeeper, SpringCloud等等。那么这两种微服务实现方案有什么区别呢?微服务技术方案对比SpringCloud微服务解决方案:不是一个框架,是一系列框架集合,目前包含二十多个框架,还在不断增加中……Spring Cloud中文网-官方文档中文版。

2024-04-26 22:35:16 2114

原创 MybatisPlus(简单CURD,MP的实体类注解,MP条件查询,MP分页查询,MP批量操作,乐观锁,代码生成器)

有时候,我们会在JavaBean中添加一些自定义的属性,而这些属性 是没有任何字段与之对应的。MP在操作数据库时,如果有任何属性找不到对应的字段,就会报错“找不到字段”。如下图示例:这时候我们可以通过添加,告诉MP,这个属性没有对应的字段,MP就不会报错了以前使用Mybatis开发时,遇到动态条件的查询,就需要我们在xml文件里使用各种标签实现SQL语句的动态拼接。而MP把这些封装成了Java的API,我们可以以编程的形式完成SQL语句的构建并实现复杂的多条件查询。Wrapper。

2024-04-24 23:11:28 1620

原创 Linux02(项目部署,手动和自动部署,JDK版本问题,安装软件,安装软件,安装JDK,Tomcat,MySQL,Irzsz)

在物理机上,使用任意MySQL客户端(navicat,SQLyog,dbeaver,datagrip)连接Linux里的MySQL测试一下。实际上是因为,Linux的远程连接工具有很多,finalShell只是其中的一种,还有某些远程连接工具并没有上传下载的功能,这个时候就需要依赖于lrzsz这个软件了。MySQL默认使用的是latin1字符集,即iso-8859-1,这种字符集不支持中文。Linux的防火墙默认是启动状态,并且默认不开放8080端口,这会导致其它电脑不能访问Linux里的服务器。

2024-04-13 23:54:58 1227

原创 Linux入门(Linux介绍,安装,常用命令,防火墙的设置,注意事项)

了解Linux是什么了解Linux的使用场景操作系统:Unix:1969年出现。汇编语言,C语言,Unix,商业版本操作系统,收费Linux:开源免费,类Unix操作系统Windows:图形化操作系统,让普通人也可以使用电脑计算机了。PC个人计算机MacOS:底层有Unix授权,有图形化界面Linux:是Linus Torvolds(开源之父)于1991年开发、发布的一套开源的、免费的、多用户多任务操作系统。是类Unix操作系统。目前已经衍生出成百上千种不同的Linux分支。

2024-04-12 21:24:16 852

原创 苍穹外卖12 (Apache POI操作 Excel 文件,导入工作台代码,导出运营数据Excel报表)

Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI 都是用于操作 Excel 文件。Apache POI 的应用场景:银行网银系统导出交易明细各种业务系统导出Excel报表批量导入业务数据。

2024-04-11 15:35:05 1090

原创 苍穹外卖11(Apache ECharts前端统计,营业额统计,用户统计,订单统计,销量排名Top10)

Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。1). 柱形图2). 饼形图3). 折线图不管是哪种形式的图形,最本质的东西实际上是数据,它其实是对数据的一种可视化展示。

2024-04-09 18:04:34 1920 2

原创 苍穹外卖10(Spring Task定时任务,WebSocket双向通信,订单状态定时处理,来电提醒,客户催单)

Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。应用场景:信用卡每月还款提醒银行贷款每月还款提醒火车票售票系统处理未支付订单入职纪念日为用户发送通知WebSocket是基于 TCP 的一种新的网络协议,它实现了浏览器与服务器全双工通信——浏览器和服务器只需要握手成功,两者之间就可以创建持久性的连接, 并进行双向数据传输。但是WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用。

2024-04-08 16:48:51 1625

原创 苍穹外卖09(百度接口获取AK计算位置距离,用户端历史订单模块,商家端订单管理模块,校验收货地址是否超出配送范围)

展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片)订单详情页面需要展示订单基本信息(状态、订单号、下单时间、收货人、电话、收货地址、金额等)只有状态为“待派送”的订单可以执行派送订单操作。只有状态为“派送中”的订单可以执行订单完成操作。商家接单其实就是将订单的状态修改为“已接单”取消订单其实就是将订单状态修改为“已取消”派送订单其实就是将订单状态修改为“派送中”完成订单其实就是将订单状态修改为“已完成”取消订单后需要将订单状态修改为“已取消”

2024-04-07 01:25:23 1216

原创 苍穹外卖08(地址簿功能,用户下单功能,订单支付访问微信平台接口JSAPI全过程,内网穿透Cpolar)

前面的课程已经实现了用户下单,那接下来就是订单支付,就是完成付款功能。支付大家应该都不陌生了,在现实生活中经常购买商品并且使用支付功能来付款,在付款的时候可能使用比较多的就是微信支付和支付宝支付了。在苍穹外卖项目中,选择的就是微信支付这种支付方式。要实现微信支付就需要注册微信支付的一个商户号,这个商户号是必须要有一家企业并且有正规的营业执照。只有具备了这些资质之后,才可以去注册商户号,才能开通支付权限。

2024-04-06 01:15:02 1110

原创 苍穹外卖07(缓存菜品,SpringCache,缓存套餐,添加购物车菜品和套餐多下单,查看购物车,清除购物车,删除购物车中一个商品)

在企业开发中,缓存对于提升程序性能有非常大的作用,所以已经广泛应用于企业项目开发中。但是缓存技术是多种多样的,例如Redis、Caffeine、MemCache、EhCache等等。而不同的缓存技术,其操作方法并不统一,这就对于开发人员使用缓存造成了一些障碍。从Spring3.1版本开始,Spring就利用AOP思想,对不同的缓存技术做了再封装,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。让开发人员只专注于业务,不需要再关心具体的缓存技术。

2024-04-04 22:02:22 1857 1

原创 苍穹外卖06(HttpClient,微信小程序开发,微信登录流程,获取授权码从微信平台获取用户信息)

互联网上应用最为广泛的一种网络协议:HTTP协议,超文本传输协议,规定了 客户端与服务端交互时,数据的格式 规范客户端,服务端是什么:提供服务的一方是 服务端使用服务的一方是 客户端HTTP请求的结构:请求行。GET百度一下,你就知道HTTP/1.1请求头。请求体。如果是GET请求,是没有请求体的HTTP响应的结构:响应行。响应头。响应体。本次响应的正文内容,默认会显示到浏览器页面上微服务阶段会学习一项技术:Feign, OpenFeign。

2024-04-02 22:12:22 1754

原创 苍穹外卖05(Redis入门,下载于安装,服务启动和停止,Redis数据类型面试题,常用命令,Java中操作Redis,店铺营业状态设置)

NoSql(Not Only SQL),不仅仅是SQL,泛指非关系型数据库。NoSql数据库并不是要取代关系型数据库,而是关系型数据库的补充。全都是以表的形式存储数据,以约束维护数据关系,有事务数据、操作都非常的严谨,不容易出错三高问题:高并发问题:关系型数据库如果要提供高并发的能力,需要的代价比较大。高性能问题:快速从海量数据里找到并操作某些数据,成本高昂高扩展性问题:集群+分布式,数据库增加、减少节点,或者做数据的迁移 都非常麻烦比如:Mysql,Oracle,DB2,SQLServer。

2024-04-02 00:01:33 1274

原创 苍穹外卖04 (新增内表的外键id获取,多表分页查询,多表批量删除,修改先查在改内表外键id用主表的,起售时包含了“停售”状态的外关联表)

业务规则:套餐名称唯一套餐必须属于某个分类套餐必须包含菜品名称、分类、价格、图片为必填项添加菜品窗口需要根据分类类型来展示菜品新增的套餐默认为停售状态。

2024-04-01 01:32:57 634

原创 苍穹外卖03(公共字段自动填充,多表的新增,多表分页查询,多表删除,多表修改)

在实现公共字段自动填充,也就是在插入或者更新的时候为指定字段赋予指定的值,使用它的好处就是可以统一对这些字段进行处理,避免了重复代码。若删除的菜品数据关联着某个套餐,此时,删除失败(setmeal_dish表为菜品和套餐关联的中间表。在dish表中删除菜品基本数据时,同时,也要把关联在dish_flavor表中的数据一块删除。分页查询时可以根据需要输入菜品名称、菜品分类、菜品状态进行查询。时需要设置创建时间、创建人、修改时间、修改人等字段,在。删除菜品后,关联的口味数据也需要删除掉。

2024-03-29 21:14:57 902

原创 苍穹外卖02(新增员工,重复内容异常处理器,绑定当前用户ThreadLocal,日期格式问题,分页查询,启用禁用,编辑员工)

ThreadLocal 并不是一个Thread,而是Thread的局部变量。每个线程都有单独一份存储空间,是一个HashMap,存取数据时以ThreadLocal对象为key,以存储的值为value这个存储空间具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。

2024-03-27 21:29:08 1448

原创 苍穹外卖项目-01(开发流程,介绍,开发环境搭建,nginx反向代理,Swagger)

作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。那么这一小节,我们将从 软件开发流程、角色分工、软件环境 三个方面整体介绍一下软件开发。到公司里边,需要给你提供 远程仓库的地址、并给你的git帐号开通权限。如果没有权限,是不能克隆的获取本地仓库:克隆远程仓库,得到本地仓库。这种仓库里边已经包含了 远程仓库的地址信息。

2024-03-26 22:01:07 1719

原创 Git (版本控制,git安装和配置,git代码托管服务,git操作本地远程仓库,分支,idea整合git)【看这一片就够】

版本控制(Revision control)是一种软件工程技巧。籍以在开发的过程中,确保由不同人所编辑的同一档案(项目代码)都得到更新。利用版本控制,可以:保存并可以回溯代码的历史版本可以切换不同版本的代码多人协同开发一个项目备份源代码协同开发时定位修改代码的责任人Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种:本地仓库:开发人员自己电脑上的 Git 仓库远程仓库:远程服务器上的 Git 仓库。

2024-03-25 20:45:22 2370

原创 Maven高级(工程分模块开发,聚合于继承,版本锁定,Mavne私服的搭建和发布)【详解】

一切功能,一切代码,一切业务模块全部放到一个项目里不同功能代码之间的耦合性强。不能对不同功能做针对性的增强。2.把一个项目拆分成多个子系统可以针对不同子系统,做针对性的增强可以降低不同子系统之间的耦合性问题:有重复类3.把一个项目拆分成多个子系统,并且把重复类提取到公用Module里可以针对不同子系统,做针对性的增强可以降低不同子系统之间的耦合性减少重复代码:哪个子系统需要使用公用模块里的类,只要在pom.xml里引用它的坐标就可以用了说明:我们可以把pom.xml里的一些配置,提取到。

2024-03-25 00:38:16 1692

原创 SpringBoot原理篇(注册bean的方式和注解,配置参数,自动装配的原理,案例自定义启动器)【详解】

Scope:加在bean对象上,用于设置bean对象的作用域如果一个bean对象上没有加此注解:Spring默认以单例模式维护bean对象从容器里获取这个bean对象,无论获取几次,得到的都是同一个对象如果想要修改bean的作用域,可以给bean对象加注解@Scope("singleton"):单例的。默认就是单例的@Scope("prototype"):多例的。

2024-03-23 02:10:04 1697 1

原创 Springboot的启动类名(引导类),一直爆红解决方式

放到包内,最上面的 package com.itheima;是扫描的包范围,切记不要大意。原因是不能(引导类)启动类不能直接放java文件下,要放到你新建立的包下,它扫描的是包。可以看到上图,无论起什么名称都爆红,也不能启动,

2024-03-22 18:34:22 499

原创 Spring事务(@Transactional,rollbackFor,propagation)【详解】

NOT_SUPPORTED:如果有事务就挂起不用,以非事务方式执行;如果没有事务,以非事务方式执行。REQUIRES_NEW:如果有事务就挂起不用,而是开启新事务;如果没有事务就开启新事务。如果有事务,就开启一个子事务;如果没有事务,就开启新事务。NEVER:如果有事务就抛出异常;如果没有事务,就以非事务方式执行。同一个类里:一个非事务方法,通过this调用了事务方法,事务会失效。如果没有事务就以非事务方式执行。事务:用于保证组成事务的多个操作,要么一起成功,要么一起失败。如果没有事务就开启新事务。

2024-03-20 02:39:36 1772

原创 SpringAOP(面向切面编程)【看这一片文章就够了】

AOP是用于简化动态代理的使用AOP:Aspect Oriented Programming,面向切面编程。是通过预编译方式(aspectj)或者运行期动态代理(Spring)实现程序功能的统一维护的技术。AOP是OOP(Object Oriented Programming)的技术延续,是软件开发中的一个热点,也是Spring中的一个重要内容。利用AOP可以实现对业务逻辑各个部分之间的隔离,从而使得业务逻辑各部分之间的耦合性降低,提高程序的可重用性,同时提高了开发效率。

2024-03-20 02:34:29 3245

原创 SpringBoot(识别用户身份,会话技术,Cookie,Session,JWT技术,过滤器Filter,拦截器Interceptor,转Json,异常处理)【详解】

虽然我们已经完成了登录功能,但是当用户在登录后对其它功能的访问中,服务端并不知道当是哪个用户帐号在做本次操作,这是不利于系统的权限控制的。如果想要服务端能够识别每次请求的用户身份,就需要在登录成功后的每次请求中,共享当前用户的身份数据能够在多次请求中识别用户身份的常用技术有:传统的会话技术:Cookie和Session。在会话中共同数据的技术,当然可以共享登录的用户帐号目前流行的技术:JWT令牌。目前比较流行的技术,广泛用于系统中作为身份识别的令牌什么是会话:会话的双方指的是客户端和服务端。

2024-03-19 02:04:33 1575

原创 SpringBoot(文件上传功能,阿里云OSS存储,几种配置文件用法)【详解】

阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995 % 的服务可用性。多种存储类型供选择,全面优化存储成本。

2024-03-17 18:45:15 2209 2

原创 SpringBoot(RESTful,统一响应结构,输出日志,增删改查功能,分页功能,批量删除,常见bug)【详解】

分页查询功能,客户端通常需要我们提供两项数据:数据列表:用于展示给用户看的数据;用户每次点击某一页的按钮,就要去服务端加载这一页的数据列表总数量:客户端得到总数量后,可以根据每页几条计算分了多少页,从而显示页码按钮。

2024-03-17 16:07:52 1257

原创 Mybatis(搭建,CRUD,方法参数,XML映射文件,动态SQL)【详解】

Mybatis的SQL语句,可以使用注解直接配置到Mapper接口里的方法上,也可以定义到XML文件里如果SQL语句写到接口里的方法上:注解方式,适合于简单SQL或者固定不变的SQL如果SQL语句写到XML文件里:xml方式,更适合于复杂SQL或者动态变化的SQL注意:XML方式和注解方式可以同时使用,但是要注意一个方法的SQL语句,要么用注解方式配置,要么用XML方式配置,不能重复配置。

2024-03-15 01:31:48 1240

原创 动态代理【详解】

动态代理是一种技术手段,而AOP(面向切面编程)是一种编程范式。动态代理可以用于实现AOP,通过将横切关注点与核心业务逻辑进行解耦,提供更灵活和可维护的代码结构。

2024-03-13 11:39:42 447

原创 MyBatis入门(JDBC规范,MyBatis,连接池,Lombok)【详解】

池化思想,用于提供有限数量的资源对象,重复利用,可以减少频繁创建对象与销毁对象的开销。创建池子:在池子里初始化一堆对象,备用使用的时候:如果需要使用,就从池子里取出一个进行使用;使用完成,再把对象交还到池子里例如:线程池,数据库连接池数据库连接池:只需要池子里准备少量的Connection连接对象,就可以支持海量的数据库操作。因为这些对象是可以循环使用的避免频繁创建Connection与数据库建立连接所造成的资源开销,从而大大提升性能Lombok是一个插件,目前已经被idea内置进去了。

2024-03-13 11:16:07 1015

原创 MySQL的索引(优缺点,二叉树,红黑数,B+Tree)【详解】

索引:是用于提高查询数据性能的一种数据结构。实际开发中,对数据的读写操作大概是10:1把索引理解为目录。构建索引的过程,就是构建目录的过程构建索引的过程中会对数据进行排序。

2024-03-13 09:42:13 1301

王泽32119160234.zip

王泽32119160234.zip

2022-12-09

空空如也

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

TA关注的人

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