- 博客(90)
- 收藏
- 关注
原创 我的创作纪念日
通过阅读他人的文章和教程,我不仅增长了自己的技术水平,还了解到了业界的最新趋势和前沿技术。通过与他们的交流,我得到了很多有益的建议和反馈,帮助我不断改进自己的写作和技术能力。同时,我也希望能够继续扩大自己的影响力,与更多的博主和读者建立起良好的互动和合作关系。通过不断努力和学习,我相信我可以在CSDN这个平台上实现自己的梦想,成为一个受人尊重和倾听的技术博主。其次,我也被CSDN官方邀请参与一些专题活动和技术沙龙,这让我有机会与更多优秀的博主和专家交流,提升自己的专业素养。
2024-05-29 12:06:22 249
原创 宠物领养|基于springboot的宠物领养系统设计与实现(附项目源码+论文)
如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于宠物领养信息管理方面的不规范,容错率低,管理人员处理数据费工费时,采用新开发的宠物领养系统可以从根源上规范整个数据处理流程的正规性和合法性。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。
2024-04-13 14:40:27 1597
原创 学生成绩|基于springboot的学生成绩管理系统设计与实现(附项目源码+论文)
传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装毕业设计成绩管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,毕业设计成绩管理系统的有效运用可以帮助管理人员准确快速地处理信息。毕业设计成绩管理系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现毕业设计成绩管理系统的功能。
2024-04-13 14:18:01 1481
原创 停车位共享系统|基于微信小程序的停车位共享系统设计与实现(附项目源码+论文)
随着互联网技术的不断发展,互联网已经渗透到我们生活的方方面面。随着移动设备的普及,我们的生活发生了翻天覆地的变化,这也对我们的日常生活产生了深远的影响。微信是腾讯于2011年发布的实时通信软件。随着互联网技术的不断发展,微信的功能也在不断扩展。微信已成为“航空母舰级软件”,也是每部智能手机上必需的软件之一。在2017年发布“微信应用”之前,它还成为了该行业的热潮。无需安装微信小程序。使用它时,您只需扫描或搜索它,然后在使用它时就可以走了。对于用户而言,只要有微信,微信小程序就不需要从手机上下载软件。
2024-04-05 11:48:03 1322
原创 工厂车间系统|基于springboot的工厂车间管理系统设计与实现(附项目源码+论文)
社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套基于VUE的工厂车间管理系统,有管理员和人员两个角色。管理员功能有个人中心,人员管理,看板信息管理,设备信息管理,生产开立管理,生产工序管理,生产流程管理。注册的人员可以登录和查看管理员发布的所有信息。基于VUE的工厂车间管理系统服务端用Java开发,用Spring Boot框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。
2024-04-05 11:22:22 831 1
原创 校园二手书交易|基于springboot的校园二手书交易设计与实现(附项目源码+论文)
信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。
2024-03-31 15:11:18 1398 1
原创 成绩管理系统|基于springboot成绩管理系统的设计与实现(附项目源码+论文)
传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装毕业设计成绩管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,毕业设计成绩管理系统的有效运用可以帮助管理人员准确快速地处理信息。毕业设计成绩管理系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现毕业设计成绩管理系统的功能。
2024-03-31 14:30:03 638
原创 人事管理系统|基于springboot人事管理系统的设计与实现(附项目源码+论文)
传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,问卷信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的人事管理系统。本人事管理系统分为管理员还有用户两个权限,管理员可以管理用户的基本信息内容,可以管理公告信息以及公告的租赁信息,能够与用户进行相互交流等操作,用户可以查看问卷信息,可以查看公告以及查看管理员回复信息等操作。
2024-03-29 18:24:45 1354
原创 大学生就业招聘系统|基于springBoot大学生就业招聘系统设计与实现(附项目源码+论文)
随着信息互联网信息的飞速发展,大学生就业成为一个难题,好多公司都舍不得培养人才,只想要一专多能之人才,不愿是承担社会的责任,针对这个问题开发一个专门适应大学生就业招聘的网站。本文介绍了大学生就业招聘系统的开发全过程。通过分析企业对于大学生就业招聘系统的需求,创建了一个计算机管理大学生就业招聘系统的方案。文章介绍了大学生就业招聘系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。
2024-03-29 17:56:35 1068
原创 旅游管理系统|基于springBoot旅游管理系统设计与实现(附项目源码+论文)
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本旅游管理系统就是在这样的大环境下诞生,其可以帮助使用者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此旅游管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。旅游管理系统有管理员,用户两个角色。
2024-03-29 17:27:07 859
原创 基于Spring Boot的秒杀系统(附项目源码+论文)
社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套基于Spring Boot的秒杀系统,管理员功能有个人中心,用户管理,商品类型管理,商品信息管理,订单管理,系统管理。用户可以注册登录,查看商品信息,对秒杀商品购买,秒杀活动结束的商品不可以购买,可以可以查看订单。
2024-03-06 20:57:26 820 1
原创 基于SpringBoot的论坛系统(附项目源码+论文)
如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法,必须采用计算机来处理这些信息,因为传统方法对应计算机处理的信息效率上真的相差甚远。本次使用Java技术开发的论坛系统,就是运用计算机来管理论坛帖子信息,该系统是可以实现版主管理,新闻信息管理,论坛帖子管理,用户管理,留言版管理等功能。
2024-03-05 20:30:14 706
原创 基于SpringBoot的在线拍卖系统(附项目源码+论文)
在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单管理、留言板管理、系统管理,用户;首页、个人中心、历史竞拍管理、竞拍订单管理、留言板管理,前台首页;首页、拍卖商品、竞拍公告、留言反馈、个人中心、后台管理等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。要想实现在线拍卖系统的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的用户。
2024-03-03 21:54:25 691
原创 Mysql Innodb存储引擎的REPEATABLE-READ隔离级别到底有没有彻底解决幻读问题
InnoDB中的REPEATABLE READ这种隔离级别通过临键锁+MVCC解决了大部分的幻读问题,但是并不是所有的幻读都能解读,想要彻底解决幻读,需要使用Serializable的隔离级别。RR中,通过间隙锁解决了部分当前读的幻读问题,通过增加间隙锁将记录之间的间隙锁住,避免新的数据插入。RR中,通过MVCC机制的,解决了快照读的幻读问题,RR中的快照读只有第一次会进行数据查询,后面都是直接读取快照,所以不会发生幻读。
2023-09-13 10:35:49 521 1
原创 以微信小程序为题的毕业设计如何写
1 概述1.1课题背景及意义1.2 国内外研究现状1.3 本课题主要工作2 系统开发环境2.1微信小程序相关技术2.2微信小程序文件目录2.3小程序页面文件构成2.4微信小程序 API 接口3 系统分析3.1 可行性分析3.1.1 技术可行性3.1.2操作可行性3.1.3 经济可行性3.1.4 法律可行性3.2系统流程分析3.2.1系统开发流程4 开发环境和系统设计4.1系统开发环境搭建4.1.1 微信小程序的注册4.1.2 微信小程序开发工具的安装4.1.3 微信小程序开发工具的安装4.2 系统概述。
2023-08-17 14:23:35 486
原创 如何写好一篇计算机毕业论文
Java是一种编程语言的网络,其基本结构非常类似于C ++,但它是简单的。它结合了一些功能和其他语言的优点,又避免了它们的缺点。Java语言是简单的,与C ++语言不同,它是具有复杂的、混乱的特点,而Java语言不需使用指针,并提供了自动垃圾回收,因此程序员不需要担心存储器管理;Java语言是体系结构中立的,因为它使用的第一个聚合成中间代码(字节码),然后加载奇偶校验,然后解释给其他的机器代码来执行,只要由Java虚拟机的支持,可以运行各种Java程序的;
2023-08-16 17:04:43 315
原创 Netty中的零拷贝机制
等一下,不是说零拷贝吗?为什么还是要 2 次拷贝?首先我们说零拷贝,是从操作系统的角度来说的。因为内核缓冲区之间,没有数据是重复的(只有 kernel buffer 有一份数据,sendFile 2.1 版本实际上有 2 份数据,算不上零拷贝)。例如我们刚开始的例子,内核缓存区和 Socket 缓冲区的数据就是重复的。而零拷贝不仅仅带来更少的数据复制,还能带来其他的性能优势,例如更少的上下文切换,更少的 CPU 缓存伪共享以及无 CPU 校验和计算。再稍微讲讲 mmap 和 sendFile 的区别。
2023-06-20 10:11:44 535 1
原创 从源码角度分析 MyBatis 工作原理
其内部的实现是通过一个 HashMap 来维护 Statement 对象的。上述的 Executor.query()方法几经转折,最后会创建一个 StatementHandler 对象,然后将必要的参数传递给 StatementHandler,使用 StatementHandler 来完成对数据库的查询,最终返回 List 结果集。对于 JDBC 的 PreparedStatement 类型的对象,创建的过程中,我们使用的是 SQL 语句字符串会包含若干个占位符,我们其后再对占位符进行设值。
2023-06-19 20:11:01 288
原创 Hystrix配置参数解析大全
Hystrix 的统计器是由滑动窗口来实现的,我们可以这么来理解滑动窗口:一位乘客坐在正在行驶的列车的靠窗座位上,列车行驶的公路两侧种着一排挺拔的白杨树,随着列车的前进,路边的白杨树迅速从窗口滑过,我们用每棵树来代表一个请求,用列车的行驶代表时间的流逝,那么,列车上的这个窗口就是一个典型的滑动窗口,这个乘客能通过窗口看到的白杨树就是 Hystrix 要统计的数据。此配置项的值需要根据接口的 QPS 进行计算,值太小会有误打开熔断器的可能,值太大超出了时间窗口内的总请求数,则熔断永远也不会被触发。
2023-05-31 19:59:54 2879
原创 60亿个URL,限制1G内存,如何去重?
如果不用位图的话,我们想要记录1,4,,6 这三个整型的话,就需要用三个unsigned int,已知每个unsigned int占4个字节,那么就是3*4 = 12个字节,一个字节有8 bit,那么就是 12*8 = 96 个bit。这样,把40亿个数字都放到Bitmap之后,所有位置上是1的表示存在,不为1的表示不存在,相同的QQ号只需要设置一次1就可以了,那么,最终就把所有是1的数字遍历出来就行了。当查询一个元素时,如果这些位都被设置为 1,则认为元素可能存在于集合中,否则肯定不存在。
2023-05-22 20:47:18 5312 2
原创 Spring Cloud Gateway 限流
一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池、线程池)、限制瞬时并发数(如 nginx 的 limit_conn 模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(如 Guava 的 RateLimiter、nginx 的 limit_req 模块,限制每秒的平均速率);此做法被认为没有很好的处理单位时间的边界,比如在前一秒的最后一毫秒里和下一秒的第一毫秒都触发了最大的请求数,也就是在两毫秒内发生了两倍的 TPS。一旦需要提高速率,则按需提高放入桶中的令牌的速率。
2023-05-07 21:06:54 2304 1
原创 Linux中常用命令文本处理
a:新增,例如:nl /etc/passwd | sed '2a Hello World',在/etc/passwd第2行下面新增一行,写入"Hello World"。例如:cat -A /etc/man.config | col -x | cat -A,使用cat -A,tab键会以^I显示,经过col -x处理,tab替换为空格。-k:按指定字段排序;p:打印,例如:nl -n /etc/passwd | sed '2,5p',仅显示2到5行,注意,如果不加-n,2到5行将重复输出。
2023-05-04 17:34:12 1356
原创 如何设计一个秒杀系统
有的时候,我们不能只想着用技术手段解决所有问题,其实,如果在业务上能做点事情的话,如果这些做法并不影响用户体验,那么就可能让技术实现上大大简化方案,整个系统的成本和稳定性也会有大大的提高。10.缓存优化:抢购场景下,大量的用户同时请求购买某个商品,会导致缓存命中率降低,从而增加数据库压力。数据库优化:针对高并发的场景,需要进行数据库的优化和设计,如合理的分库分表,优化SQL查询性能等。再比如说,在有些秒杀业务中,需要先预约,预约通过后才能参与秒杀,这就大大的降低了秒杀时的请求量了。
2023-04-27 10:32:13 5310 1
原创 如何实现延时任务(订单到期关闭)
我们介绍了11种实现订单定时关闭的方案,其中不同的方案各自都有优缺点,也各自适用于不同的场景中。那我们尝试着总结一下:实现的复杂度上(包含用到的框架的依赖及部署):Redisson > RabbitMQ插件 > RabbitMQ死信队列 > RocketMQ延迟消息 ≈ Redis的zset > Redis过期监听 ≈ kafka时间轮 > 定时任务 > Netty的时间轮 > JDK自带的DelayQueue > 被动关闭方案的完整性:
2023-04-23 19:34:18 1156
原创 手把手教你分析解决MySQL死锁问题
那如果事务1和事务2都先a后b,那事务1先拿到a的锁,事务2再去拿a的锁,如果锁冲突那就会等待 事务1释放锁,那自然事务2就不会拿到b的锁,那就不会堵塞事务1拿到b的锁,这样就避免死锁了。2、通过事务A和事务B的update语句,我们可以发现其实它们都持有间隙锁(10,20)的这段范围,说明间隙锁范围是可以相互兼容的,意思就是只要你的10不在我(10,+∞)的间隙锁范围内,那就可以产生部分重合的间隙锁,也就是这里的(10,20)。为什么要这么做呢,因为如果去更新一条数据库不存在的数据,一样会产生间隙锁。
2023-04-22 16:09:20 961
原创 Spring的那些开发小技巧(下)
而这些为了配置隔离创建的子容器,在容器启动的过程中,也会发布诸如ContextRefreshedEvent等这样的事件,如果你监听了这些事件,那么由于传播特性的关系,你的这个事件的监听器就会触发多次。事件监听的接口,泛型是子类需要监听的事件类型,子类需要实现onApplicationEvent,参数就是事件类型,onApplicationEvent方法的实现就代表了对事件的处理,当事件发生时,Spring会回调onApplicationEvent方法的实现,传入发布的事件。当然也是基于事件来的。
2023-03-20 16:52:31 280
原创 Spring的那些开发小技巧(中)
通过列举的这些BeanPostProcessor的实现可以看出,Spring Bean的很多注解的处理都是依靠BeanPostProcessor及其子类的实现来完成的,这也回答了上一小节的疑问,处理@Autowired、@PostConstruct、@PreDestroy注解是如何起作用的,其实就是通过BeanPostProcessor,在Bean的不同阶段来调用对应的方法起作用的。说到SpringBoot的扩展点,第一时间肯定想到的就是自动装配机制,面试贼喜欢问,但是其实就是一个很简单的东西。
2023-03-17 11:13:37 319
原创 分库分表会带来什么问题?
那user0就放主键id为1~2kw的数据。一开始,通常都先用一张数据表,而一般来说数据表写到2kw条数据之后,底层B+树的层级结构就可能会变高,不同层级的数据页一般都放在磁盘里不同的地方,换言之,磁盘IO就会增多,带来的便是查询性能变差。也不是说这样不行吧,就是这个业务直到最后放弃的时候,也就存了百万条数据,每次打开数据库表能看到茫茫多的user_xx,就是不太舒服,专业点,叫增加了程序员的。而上面一种方式,根据id范围去分表,就能很好的解决这些问题,数据少的时候,表也少,随着数据增多,表会慢慢变多。
2023-03-16 20:39:17 688
原创 Spring的那些开发小技巧(上)
ImportSelector和ImportBeanDefinitionRegistrar的方法是有入参的,也就是注解的一些属性的封装,所以就可以根据注解的属性的配置,来决定应该返回样的配置类或者是应该往容器中注入什么样的类型的Bean,可以看一下 @EnableAsync 的实现,看看是如何根据@EnableAsync注解的属性来决定往容器中注入什么样的Bean。本节来着重看一下,一个Bean在创建的过程中,有哪些常见的操作Spring在Bean的创建过程中给我们完成,并且操作的顺序是什么样的。
2023-03-13 18:52:06 182
原创 实现异步的8种方式
另外,可能有些时候采用ApplicationEvent实现异步的使用,当程序出现异常错误的时候,需要考虑补偿机制,那么这时候可以结合Spring Retry重试来帮助我们避免这种异常造成数据不一致问题。要做的工作,在Callable接口的实现类中定义,这里只是休眠了1秒钟然后返回一个数字1,有了ListenableFuture实例,可以执行此Future并执行Future完成之后的回调函数。调用线程池,推荐等方式是是使用自定义线程池的模式,不推荐直接使用@Async直接实现异步。
2023-03-12 18:21:34 3457 1
原创 Msyql聚簇索引和非聚簇索引
在 MySQL 的 InnoDB 引擎中,每个索引都会对应一颗 B+ 树,而聚簇索引和非聚簇索引最大的区别在于叶子节点存储的数据不同,聚簇索引叶子节点存储的是行数据,因此通过聚簇索引可以直接找到真正的行数据;在非聚簇索引的叶子节点上存储的并不是真正的行数据,而是主键 ID,所以当我们使用非聚簇索引进行查询时,首先会得到一个主键 ID,然后再使用主键 ID 去聚簇索引上找到真正的行数据,我们把这个过程称之为回表查询。根据数据库的功能,可以在数据库设计器中创建四种索引:单列索引、唯一索引、主键索引和聚集索引。
2023-03-09 10:15:37 323
原创 Redis缓存击穿,缓存穿透,缓存雪崩,附解决方案
前言在日常的项目中,缓存的使用场景是比较多的。缓存是分布式系统中的重要组件,主要解决在高并发、大数据场景下,热点数据访问的性能问题,提高性能的数据快速访问。本文以Redis作为缓存时,针对常见的缓存击穿、缓存穿透、缓存雪崩问题做简单地说明,并且提供有效的解决方案。Redis缓存使用场景Redis会把数据库中经常被查询的数据缓存起来,比如热点数据,这样当用户通过网站或APP来访问的时候,就不需要到数据库中去查询了,而是直接获取 Redis中的缓存数据,从而降低了后端数据库的读取压力。
2023-03-06 20:46:00 3391 2
原创 延时任务的四种实现方式
而通过 JDK 实现延迟任务我们能想到的关键词是:DelayQueue、ScheduledExecutorService,而第三方提供的延迟任务执行方法就有很多了,例如:Redis、Netty、MQ 等手段。并且在Redis中,有很多默认的channel,只不过向这些channel发送消息的生产者不是我们写的代码,而是Redis本身。如果专门开启一个 MQ 中间件来执行延迟任务,就有点杀鸡用宰牛刀般的奢侈了,不过已经有了 MQ 环境的话,用它来实现延迟任务的话,还是可取的。
2023-03-05 21:10:32 5847
原创 Mybatis一级缓存与二级缓存
一级缓存是BaseExecutor中的一个成员变量localCache(对HashMap的一个简单封装),因此一级缓存的生命周期与SqlSession相同,如果你对SqlSession不熟悉,你可以把它类比为JDBC编程中的Connection,即数据库的一次会话。通常我们会为每个单表创建单独的映射文件,由于MyBatis的二级缓存是基于namespace的,多表查询语句所在的namspace无法感应到其他namespace中的语句对多表查询中涉及的表进行的修改,引发脏数据问题。
2023-03-04 16:31:02 1863
原创 Redis持久化RDB和AOF
所以,与save命令相比,Redis服务器在处理bgsave采用子线程进行IO写入,而主进程仍然可以接收其他请求,但forks子进程是同步的,所以forks子进程时,一样不能接收其他请求,这意味着,如果forks一个子进程花费的时间太久(一般是很快的),bgsave命令仍然有阻塞其他客户的请求的情况发生。aof文件太大,加载aof文件恢复数据时,就会非常慢,为了解决这个问题,Redis支持aof文件重写,通过重写aof,可以生成一个恢复当前数据的最少命令集,比如上面的例子中那么多条命令,可以重写为。
2023-03-03 10:15:14 244
原创 Redis 越来越慢?常见延迟问题定位与分析
生成RDB和AOF都需要父进程fork出一个子进程进行数据的持久化,在fork执行过程中,父进程需要拷贝**内存页表**给子进程,如果整个实例内存占用很大,那么需要拷贝的内存页表会比较耗时,此过程会消耗大量的CPU资源,在完成fork之前,整个实例会被阻塞住,无法处理任何请求,如果此时CPU资源紧张,那么fork的时间会更长,甚至达到秒级。这会严重影响Redis的性能。即使这样,我们也不建议使用大key,大key在集群的迁移过程中,也会影响到迁移的性能,这个后面在介绍集群相关的文章时,会再详细介绍到。
2023-03-02 10:18:22 1066 1
原创 6个必知的Mysql索引失效场景,别再踩坑了!
此时,索引失效的原因与第三种情况一样,都是因为数据库要先进行全表扫描,获得数据之后再进行截取、计算,导致索引索引失效。的含义为:表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在组合索引的时候,判断该索引有多少部分被使用到非常重要。上面演示了key_len一种情况的计算过程,后续不再进行逐一推演,知道基本组成和原理即可,更多情况大家可自行查看。最左边的字段为id_no,一般情况下,只要保证id_no出现在查询条件中,则会走该联合索引。当然,还有三列都在查询条件中的情况,就不再举例了。
2023-03-01 10:10:08 843
原创 MySQL 日志:undo log、redo log、binlog
但 STATEMENT 有动态函数的问题,比如你用了 uuid 或者 now 这些函数,你在主库上执行的结果并不是你在从库执行的结果,这种随时在变的函数会导致复制的数据不一致;redo log 是物理日志,记录了某个数据页做了什么修改,对 XXX 表空间中的 YYY 数据页 ZZZ 偏移量的地方做了AAA 更新,每当执行一个事务就会产生这样的一条物理日志。binlog 是追加写,写满一个文件,就创建一个新的文件继续写,不会覆盖以前的日志,保存的是全量的日志。
2023-02-28 10:51:01 332
原创 synchronized和CAS算法
轻量级锁升级重量级锁:一般两个线程对于同一个锁的操作都会错开,或者自旋等待一下,另一个线程就会释放锁,自旋超过一定次数或者一个线程在持有锁,一个在自旋又来了第三个线程访问时,轻量级锁膨胀为重量级锁,重量级锁使除了拥有锁的线程以为的线程都阻塞,防止CPU空转。始终只有一个线程在执行同步块,在它没有执行完释放锁之前,没有其他线程去执行同步块,在锁无竞争的情况下使用,一旦有了竞争就升级为轻量级锁,升级为轻量级锁的时候需要撤销偏向锁,撤销偏向锁的时候会导致stop the word操作。适用于读多写少的场景。
2023-02-27 20:50:39 394
原创 JVM 锁优化和逃逸分析详解
这里的答案是不会,x + y + z 操作的优化「经过逃逸分析」过后,他的动态作用域被限制在了 concatStr方法内,就是说当前实际执行的 StringBuilder 的操作在 concatStr 方法内部,「其他的外部线程无法访问」到,所以这里「虽然有锁,但是可以被安全的消除掉。原则上,我们在写代码的时候,总是推荐将同步块的作用范围限制得尽可能的小--只在共享数据的实际操作作用域中才进行同步,这样也是为了使得需要同步的操作尽可能的变少,即使存在锁的竞争,等待的锁的线程也能很快的获取到锁。
2023-02-24 10:07:03 287
跟踪治疗系统-基于springboot 病人跟踪治疗管理系统设计与实现
2024-06-14
跟踪治疗-基于SSM病人跟踪治疗信息管理系统设计与实现
2024-06-14
校园闲置系统-基于微信小程序校园闲置平台设计与实现
2024-03-31
基于SpringBoot的高校专业实习系统设计与实现
2024-03-27
微信小程序-文字识别系统-基于微信小程序的文字识别解读系统设计与实现
2024-03-25
购物商城系统-java-基于SSM框架的购物商城系统+jsp(毕业论文)
2024-03-15
人事管理信息系统-java-基于ssm人事管理信息系统+jsp(毕业论文)
2024-03-15
在线购物系统-java-基于ssm的在线购物系统的设计与实现+vue(毕业论文)
2024-03-15
中小企业人力资源管理系统-基于ssm框架的中小企业人力资源管理系统的设计及实现+jsp(毕业论文)
2024-03-15
网上医院预约挂号系统-java-基于ssm网上医院预约挂号系统+jsp(毕业论文)
2024-03-15
医院住院管理系统-java-基于ssm医院住院管理系统+vue(毕业论文)
2024-03-15
医院门诊挂号系统-java-基于ssm医院门诊挂号系统设计与实现+jsp(毕业论文)
2024-03-15
汽车配件销售业绩系统-java-基于ssm亚盛汽车配件销售业绩管理统+jsp(毕业论文)
2024-03-15
毕业生就业信息统计系统-java-基于ssm毕业生就业信息统计系统+vue(毕业论文)
2024-03-15
健身房管理系统-java-基于ssm的健身房管理系统的设计与实现+vue(毕业论文)
2024-03-15
校园驿站管理系统-java-基于ssm 的校园驿站管理系统+jsp(毕业论文)
2024-03-15
小型企业办公自动化系统-java-小型企业办公自动化系统的设计和开发+vue(毕业论文)
2024-03-15
学生公寓管理中心系统-java-基于ssm学生公寓管理中心系统的设计与实现+jsp(毕业论文)
2024-03-15
校园快递代取系统-java-基于ssm语言校园快递代取系统的设计与实现+jsp(毕业论文)
2024-03-15
毕业论文管理系统-java-基于ssm毕业论文管理系统设计与实现+vue(毕业论文)
2024-03-15
网上花店系统-java-基于ssm网上花店设计与实现+vue(毕业论文)
2024-03-15
旅游攻略网站-java-基于ssm游戏攻略网站的设计与实现+vue(毕业论文)
2024-03-15
共享客栈系统-java-基于ssm的共享客栈管理系统+jsp(毕业论文)
2024-03-15
社区文化宣传网-java-基于ssm社区文化宣传网站设计与实现+jsp(毕业论文)
2024-03-15
乡镇自来水收费系统-java-基于ssm的乡镇自来水收费系统+jsp(毕业论文)
2024-03-15
智慧城市实验室系统-java-基于ssm的智慧城市实验室主页系统设计与实现+vue(毕业论文)
2024-03-15
旅行信息管理系统-java-基于ssm线上旅行信息管理系统ssm+vue(毕业论文)
2024-03-15
新能源汽车租赁系统-java-基于ssm的新能源汽车在线租赁管理系统+vue(毕业论文)
2024-03-15
高校共享单车管理系统-java-基于SSM的高校共享单车管理系统的设计与实现+vue(毕业论文)
2024-03-15
班主任助理系统-java-基于ssm班主任助理系统的设计与实现+jsp(毕业论文)
2024-03-15
个人博客网站-java-基于SSM框架的个人博客网站的设计与实现+vue(毕业论文)
2024-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人