自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 synchronized关键字的底层原理

Synchronized【对象锁】采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】 它的底层由monitor实现的,monitor是jvm级别的对象( C++实现),线程获得锁需要使用对象(锁)关联monitor 在monitor内部有三个属性,分别是owner、entrylist、waitset 其中owner是关联的获得锁的线程,并且只能关联一个线程;entrylist关联的是处于阻塞状态的线程;waitset关联的是处于Waiting状态的线程

2024-10-17 10:20:24 216

原创 Mysql主从复制原理了解吗

master数据写入,更新binlog master创建一个dump线程向slave推送binlog slave连接到master的时候,会创建一个IO线程接收binlog,并记录到relay log中继日志中 slave再开启一个sql线程读取relay log事件并在slave执行,完成同步 slave记录自己的binglog

2024-10-15 09:34:56 122

原创 IDEA + Spring Boot 的三种热加载方案,看完弄懂,不用加班

在日常开发中,我们需要经常修改 Java 代码,手动重启项目,查看修改后的效果。如果在项目小时,重启速度比较快,等待的时间是较短的。但是随着项目逐渐变大,重启的速度变慢,等待时间 1-2 min 是比较常见的。这样就导致我们开发效率降低,影响我们的下班时间,哈哈哈~那么是否有方式能够实现,在我们修改完 Java 代码之后,能够不重启项目呢?答案是有的,通过的方式。并且实现的方式还是非常多,接下来就为大家一一展示。

2024-10-14 09:56:43 759

原创 Kafka、RabbitMQ和RocketMQ 如何选型?

需要根据具体情况来选择最适合的消息队列技术。如果有多个因素需要考虑,可以进行性能测试和功能评估来辅助选择。

2024-10-11 09:52:02 274

原创 如何实现分库分表

将原本存储于单个数据库上的数据拆分到多个数据库,把原来存储在单张数据表的数据拆分到多张数据表中,实现数据切分,从而提升数据库操作性能。分库分表的实现可以分为两种方式:垂直切分和水平切分。:将字段拆分为多张表,需要一定的重构。:将数据分散到多张表,涉及分区键,

2024-10-09 09:20:59 161

原创 Redis是AP的还是CP的?

然而,WAIT 仅能确保数据在 Redis 实例中有指定数量的副本中被确认,它并不能将一组 Redis 实例转变为具有强一致性的 CP 系统:在故障转移期间,已确认的写操作仍然可能会丢失,这取决于 Redis 持久化的具体配置。当一个节点宕机时,这个节点上的数据可能无法同步到其他节点,这就可能导致数据在节点之间的不一致。,虽然在单机Redis中,因为只有一个实例,他的一致性是有保障的,而一旦这个节点挂了,那么就没有可用性可言了。有人说:单机的Redis是CP的,而集群的Redis是AP的?

2024-09-27 09:56:56 271

原创 Redis为什么这么快

如批量操作命令以及管道操作等,大大减少了网络通信的开销。当然,对于以上回答里面的一些细节,面试官可能会深挖,比如跳跃表的实现,IO多路复用底层原理等。能够同时处理大量连接请求,提高并发性能,当然这里说的并发是指处理客户端连接以及对连接的响应,内部命令执行还是单线程的。如哈希表、跳跃表等等,基于这些数据结构能实现快速的数据访问和操作。避免了多线程的竞争和上下文切换开销。

2024-09-26 09:46:53 229

原创 SpringBoot3 + Flowable7 工作流引擎使用

Flowable 由 Activiti 项目分支演变而来,用于构建和管理各种业务流程。其核心是一个通用的流程引擎,支持 BPMN 2.0(Business Process Model and Notation)标准,这是一种业务流程建模和执行的国际标准。Flowable 完全支持 BPMN 2.0,使得非技术人员也能参与流程的设计。BPMN 是一种用于业务流程建模的标准化图形表示法。它定义了一套符号和规则,用于描述业务流程的各个方面,如任务、事件、网关等。

2024-09-25 17:12:14 789

原创 ACID靠什么保证的?

由内存+redo log来保证,mysq修改数据同时在内存和redo logi记录这次操作,宕机的时偓可以从redolog恢复。如果前面prepare成功,binlog写盘,在继续将事务日志持久化到binlog,如果持久化成功,那么InnoDB事务。由undo log日志保证,它记录了需要回滚滚的日志信息,事务回滚时撤销已经执行成功的sql。InnoDB redo1og写盘,InnoDB事务进入prepare状态。由其他三大特性保证、程序代码要保证业务上的一致性。redologl的刷盘会在系统空闲时进行。

2024-09-25 09:09:40 187

原创 银行项目长事务优化

长事务问题

2024-09-23 10:27:01 196

原创 Spring Event和MQ有什么区别?各自适用场景是什么?

Spring Event和MQ

2024-09-14 09:33:53 295

原创 如果需要跨库join,该如何实现?

所谓跨库join,指的就是数据分散在不同的数据库中,但是又需要做关联查询,这时候就需要解决跨库join的问题。那么,如果要解决这个问题,可以有以下几个方案。

2024-09-13 09:59:01 724

原创 讲讲你对ThreadLocal的理解

的核心思想是以"线程"为作用域,在每个线程内部维护一个变量副本。它使用Thread对象作为Key,在内部的数据结构中查找对应的变量副本。当通过ThreadLocal的get()方法获取变量时,实际上是根据当前线程获取其对应的变量副本;当通过set()方法设置变量时,实际上是将该值与当前线程关联,并存储在内部的数据结构中。每个线程可以独立地对自己的变量副本进行操作,而不会影响其他线程的副本。它提供了一种让每个线程都拥有独立变量副本的机制,从而避免了多线程之间相互干扰和竞争的问题。

2024-09-12 09:51:53 172

原创 SpringBoot + Flowable并集成ui,写一个请假流程Demo

Flowable 流程解决方案

2024-09-11 16:44:58 1110

原创 认识MyBatis核心组件及基本执行流程

认识MyBatis核心组件及基本执行流程MyBatis的核心组件分为四个部分:SqlSessionFactoryBuilder(构造器):会根据配置或者代码来生成SqlSessionFactory,采用的是分步构建的Builder模式.SqlSessionFactory(工厂接口):用它来生成SqlSession,使用的是工厂模式.SqlSession(会话):一个既可以发送SQL执行返回结果,也可以获取Mapper的接口.一般我们会让其在业务逻辑代码中"消失".而使用的是MyBatis提供的

2020-12-19 16:56:34 181 1

原创 java 基础 面试题

java 基础面试题**1.说出你对面向对象的理解? (1) 面向对象是一种编程思想,是相对面向过程而言的,而面向程的开发方式主要注重步骤,第一步干什么,第二步干什么,步与步之间都是紧密相联的,都是有因果关系的,只要其中任何一个步骤出现问题,都会导致整个系统运转出现问题;面向过程的缺点:代码和代码之间的耦合度太高,扩展力太差什么是面向对象的开发方式?因此采用面向对象的方式开发,并且采用这种方法也更符合人类的思维模式(面向对象成为主流的原因);面向对象就是将现实世界分割成不同的单元,然

2020-11-05 10:24:56 145 1

原创 日志模块实现思路

一日志模块实现思路1日志管理列表页面呈现1.1实现功能点击页面按钮局部刷新异步添加日志管理页面;1.2步骤controller:在PageController中添加doLogUI方法, doPageUI方法分别用于返回日志列表页面,日志分页页面。2日志管理列表数据呈现2.1 实现功能点击日志管理异步刷新加载日志管理列表数据到指定位置2.2实现步骤 Dao层实现类-----SysLog类用于封装从数据库返回的数据,一行数据封装成一个对象 Dao接口实现------int g

2020-11-05 10:13:28 508

springCloud学习笔记.zip

springCloud学习笔记.zip

2023-03-27

Go语言笔记.zip

Go语言笔记.zip

2023-03-21

空空如也

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

TA关注的人

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