自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式事务

事务举一个简单的例子,在生活中我们去超市买东西,是一个手交钱一手交货,付钱和拿到东西是同时成功的,支付失败的情况下显而易见的我们也拿不到东西,这就是一个简单的事务,交钱和交货必须全部成功这个才算事务的成功,一个环节出现问题就会导致整个事务失败,并且任何一个活动失败,事务就会撤销之前所有的成功活动。总而言之,事务就是一个大的活动,有不同的小活动组成,这些活动要么全部成功,要么全部失败。

2023-09-27 17:58:23 47 1

原创 多线程(大而全,想要的都在这)

内存屏障(也称内存栅栏,内存栅障,屏障指令等,是一类同步屏障指令,

2023-09-25 21:47:31 44 1

原创 Elasticsearch第一天

一款非常强大的开源搜索引擎,能够实现在海量数据中快速检索到满足条件的数据,同时还可以实现分页、高亮显示等功能。其他功能:日志统计、分析、系统监控等。

2023-09-15 21:44:48 44 1

原创 Linux的常用命令

l 除了文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等详细列出。-p: 确保目录名称存在,不存在的就创建一个。-f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出。q或者Ctrl+C 退出more。-r: 将目录及目录中所有文件(目录)逐一删除,即递归删除。-p: 当子目录被删除后使父目录为空目录的话,则一并删除。空格键 向下滚动一屏。说明:-a 显示所有文件及目录(.开头的隐藏文件也会列出)说明: -n: 由1开始对所有输出的行数编号。

2023-09-03 21:45:03 39

原创 SpringBoot项目为什么需要引入大量的starter?如何自定义starter

本文就通过自己构建一个SpringBoot的简单的starter项目,让我们去理解SpringBoot的自动装配。SpringBoot为开发者提供了多种Bean装配的方式,我们需要做的就是理解这些自动装配机制,并且能够灵活应用在企业的开发中,可以开发自己开发starter,充分利用SpringBoot的优势,让我们的项目也可以通过简单的配置,就将Bean注入Spring容器中,供我们灵活应用这些Bean。

2023-08-29 21:11:03 94 1

原创 TCP/IP三次握手、四次挥手流程

建立连接时,发送 SYN包 到,并且,进入SYN_SEND状态,等待确认;收到 SYN包 后,同时,发送一个 SYN+ACK包 给,此时,服务器进入SYN_RECV状态;收到服务器的 SYN+ACK包 后,向发送确认的 ACK包。此包发送完毕,和进入状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据。

2023-08-28 21:45:07 33

原创 Mybatis多表查询之一对多、多对一

由于是多个学生关联一个老师,所以这里用 association 标签,关联标签返回的是对象属性的类型(javaType)。我们首先要查询出所有的学生信息,因为学生实体类中除了变量属性还有对象属性(学生所关联的Teacher对象属性),变量属性可以很好地对应数据库的字段名,而对象属性需要用结果集映射。按结果嵌套查询就是SQL里面的联表查询,利用的是笛卡尔积将两张表关联,只需查一次,无论是效率方面还是理解层面上,按结果嵌套查询都要优于子查询,所以这里推荐使用第二种。

2023-08-24 21:49:30 41 1

原创 SSM框架整合

面向切面编程即将核心业务逻辑代码与日志记录,权限验证,效率检查,事务管理等模块必要存在且非业务逻辑代码分开,达到与主业务逻辑解耦的目的。控制器 controller:对请求进行处理,负责请求转发,也就是事件,用于流程的控制;持久层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,也就是说是对数据库,而不是对数据的操作,具体为业务逻辑层或用户界面层提供数据服务。开发架构一般都是基于两种形式:一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器。

2023-08-21 21:20:32 349 1

原创 ThreadLocal

如果一个对象只具有弱引用,那就类似于。

2023-08-18 21:31:38 38 1

原创 Stream流常用方法

forEach:该方法接收一个Consumer接口函数,将每一个流元素交给该函数处理forEach方法:用来遍历流中的数据注:是一个终结方法,遍历之后就不能继续调用Stream流中的其他方法。

2023-08-17 16:48:49 140 1

原创 线程池的相关知识点

1.复用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销2.能有效控制线程池的最大并发数量,避免大量线程之间因互相抢占系统资源而导致的阻塞现象.3.能够对线程进行简单的管理,并提供定时执行,指定间隔,循环执行等功能.

2023-08-15 20:54:12 51 1

原创 乐观锁 VS 悲观锁乐观锁

而乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁, 只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动重试)。对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据, 因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。乐观锁在Java中是通过使用无锁编程来实现,最常采用的是CAS算法,Java原子类中的递增操作就通过CAS自旋实现的。

2023-08-14 21:32:46 36

原创 synchronized和volatile的区别是什么

Java内存模型是通过将在工作内存中的变量修改后的值同步到主内存,在读取变量前从主内存刷新最新值到工作内存中,这种依赖主内存的方式来实现可见性的。java内存模型所保证的是,同线程内,所有的操作都是由上到下的,但是多个线程并行的情况下,则不能保证其操作的有序性。java内存模型所保证的是,同线程内,所有的操作都是由上到下的,但是多个线程并行的情况下,则不能保证其操作的有序性。有序性:在本线程内观察,操作都是有序的;如果在一个线程中观察另外一个线程,所有的操作都是无序的。

2023-08-14 21:30:26 60

空空如也

空空如也

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

TA关注的人

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