- 博客(9)
- 资源 (25)
- 问答 (1)
- 收藏
- 关注
原创 TCC分布式事务原理解析
终于有人把“TCC分布式事务”实现原理讲明白了!之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:《拜托,面试请不要再问我Spring Cloud底层原理!》。业
2021-09-22 13:08:45 267
原创 线程锁synchronized (this)锁住的是对象还是方法
测试类:package com.koow.kkwwo.test;public class MyRunnable extends Thread { public static void main(String[] args) { Thread ta = new MyRunnable(); Thread tb = new MyRunnable(); ta.start(); tb.start(); } public void run() { F
2021-09-15 09:23:39 520
原创 看了 5 种分布式事务方案,我司最终选择了 Seata
好长时间没发文了,最近着实是有点忙,当爹的第 43 天,身心疲惫。这又赶上年底,公司冲KPI强制技术部加班到十点,晚上孩子隔两三个小时一醒,基本没睡囫囵觉的机会,天天处于迷糊的状态,孩子还时不时起一些奇奇怪怪的疹子,总让人担惊受怕的。本就不多的写文章时间又被无限分割,哎~ 打工人真是太难了。本来不知道写点啥,正好手头有个新项目试着用阿里的Seata中间件做分布式事务,那就做一个实践分享吧!介绍Seata之前在简单回顾一下分布式事务的基本概念。分布式事务的产生我们先看看...
2021-09-15 03:41:48 399
原创 redis 分布式锁的 5个坑,真是又大又深
引言最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug。我就熬夜写了一个bug被骂惨了。由于是做商城业务,要频繁的对商品库存进行扣减,应用是集群部署,为避免并发造成库存超买超卖等问题,采用redis分布式锁加以控制。本以为给扣库存的代码加上锁lock.tryLock就万事大吉了 /** * @author xiaofu * @descr...
2021-09-15 03:33:11 476
转载 MySQL索引详解(优缺点,何时需要/不需要创建索引,索引及sql语句的优化)
一、什么是索引? 索引是对数据库表中的一列或多列值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息。二、索引的作用? 索引相当于图书上的目录,可以根据目录上的页码快速找到所需的内容,提高性能(查询速度)三、优点:通过创建唯一性索引,可以保证数据库表中的每一行数据的唯一性。 可以加快数据的检索速度 可以加速表与表之间的连接 在使用分组和排序进行检索的时候,可以减少查询中分组和排序的时间四、缺点创建索引和维护索引要耗费时间,这种时间随着数据量的增...
2021-09-11 04:55:22 355
转载 JVM的Xms和Xmx参数设置为相同值有什么好处?
分类:Java,Jvm 标签:Java,Jvm,Jvm优化,Jvm调优,Xms,Xmx最近正在重新学习JVM的内存结构及相关优化内容,无意中看到IDEA的VM配置(安装时默认配置)中有如下的配置:# custom IntelliJ IDEA VM options-Xms2048m-Xmx2048m看到Xms和Xmx的一样,是不是稍微有些奇怪?这里就写篇文章分析一下,JVM的Xms和Xmx参数设置为相同的值有什么好处?首先来了解一下相关参数的概念及功能。Xms和...
2021-09-09 06:49:27 698
转载 mysql 锁与MVCC的原理
锁Q:为什么要用锁?1、操作金额、红包、用户余额、订单状态的时候2、判断一条记录存不存在,不存在的话执行操作3、减商品库存的时候(并发大的时候,很容变负数)myisam 表锁innodb 行锁共享锁(S锁):假设事务T1对数据A加上共享锁,那么事务T2可以读数据A,不能修改数据A。select * from table where id = ? lock in share mode排他锁(X锁):假设事务T1对数据A加上共享锁,那么事务T2不能读数据A,不能修改数据A...
2021-09-09 04:47:22 242
转载 MySQL索引-B+树(看完你就明白了)
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三...
2021-09-07 03:19:21 284
原创 MySQL中的聚簇索引、非聚簇索引、联合索引和唯一索引
一、索引类型索引根据底层实现可分为B-Tree索引和哈希索引,大部分时候我们使用的都是B-Tree索引,因为它良好的性能和特性更适合于构建高并发系统。根据索引的存储方式来划分,索引可以分为聚簇索引和非聚簇索引。聚簇索引的特点是叶子节点包含了完整的记录行,而非聚簇索引的叶子节点只有所以字段和主键ID。根据聚簇索引和非聚簇索引还能继续下分还能分为普通索引、覆盖索引、唯一索引以及联合索引等。二、聚簇索引和非聚簇索引聚簇索引也叫聚集索引,它实际上并不是一种单独的索引类型,而是一种数据...
2021-09-07 02:40:32 1839 1
基于springboot+h5+websocket的即时通讯客服系统和百度实时语音转译(语音在线识别)
2021-11-29
社团管理系统(基于ssh框架,需要sql联系我)
2020-04-09
基于android框架的客户端和基于java服务端的物流快递系统(不懂的联系我)
2020-01-07
基于Android的物流配送管理系统(有图片和参考代码,不懂可以联系问我)
2020-01-07
基于ssm的婚恋网站(寻欢网)(包含后台管理系统)
2019-05-31
刚完成的基于ssh的婚恋交友网站(有运行截图,文档说明,有问题找我)
2019-05-08
基于ssm的在线考试系统(问卷系统)(有运行截图,包含单选题,多选题,问答题,有不懂的联系我)
2019-05-03
自己做的微服务环境简单搭建----网上书店
2019-03-26
学生成绩管理系统ssm(毕业设计代码+论文)
2018-04-28
学生管理系统ssm(毕业设计代码+论文)
2018-04-28
基于ssm的医院预约挂号系统
2018-03-29
struts2+hibernate+spring+jpa+maven的网上订餐系统
2018-03-26
基于ssh的社团管理系统的设计与实现(有疑问联系我头像)
2017-11-22
基于ssm的网上服饰商城毕业论文(关注我还有更多的学习资料)
2017-11-13
webservice+spring+xfire完整项目(包含jar包)
2017-10-20
求解Java一个最优分配算法
2017-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人