自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘先森的博客

记录一些工作学习中的知识点和理解,并提供一些踩过的坑的解决方案。

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

原创 基于注解的Excel导出万能模板

目录前言功能简介功能展示1. 一对多数据关系, 生成多个Sheet,并附加Sheet的密码。2. 一对一数据关系,复杂表头。3. 一对多数据关系和一对一数据关系,复杂表头。4. 分组表头的使用。5. Cell注解时间格式化。6. Cell注解类型解析。7. 设置样式(对齐方式、边框、边框颜色、前景色、填充方式)【全局设置、局部设置】8. 设置字体(字体大小、字体名字、字体颜色)【全局设置、局部设置...

2019-08-30 10:57:17 3409 21

原创 Java泛型指南

1. 泛型概述泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称.

2020-10-10 15:57:42 3808 18

原创 深入理解MySQL锁、事务隔离级别与MVCC原理

深入理解MySQL锁、事务隔离级别与MVCC原理1 锁定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。2 锁分类Mysql锁简单介绍:Mysql中不同的存储引擎支持不同的锁机制。比如MyISAM和MEMORY存储引擎采用的表级锁,BDB采用的是页面锁,也支持表级锁,In

2020-08-13 10:32:48 459

原创 微服务架构分布式事务解决方案

目录前言分布式事务概述XA/JTA规范柔性事务CAP理论BASE理论最大努力通知方案TCC两阶段补偿型方案可靠消息最终一致性方案柔性事务TCC和强一致性事务XA/JTA的区别TCC与XA/JTA对比TCC的开源框架实现前言什么是微服务?微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务内聚不同的业务模块。但是这...

2019-09-02 16:14:25 524

原创 基于注解的Excel导出工具

前言大家工作中,往往会遇到Excel导出的问题,但是写导出数据的时候,需要构造很多不需要的参数,如Title,列明,还有数据列表。不知道小伙伴们有没有感觉很繁琐,小编自己觉得很繁琐,所以想有一个能够不用 构造这么多东西去写Excel导出,能不能直接给我传递一个集合,我就能直接给导出呢?针对这个小编也是想了很久终于找到了一套方案,最近也是写了一个初级版本。这里分享给大家,希望能够对那些觉得Exc...

2019-08-07 14:01:35 496

原创 Redis分布式非公平锁详解

前言看了很多博客,和资料,这里只针对redis做分布式锁做一下深入探讨,希望对你们有帮助。网上提供了很多分布式锁的操作,这里逐一举例然后评论优缺点及改进方案,希望这样子能让当家更好的理解redis分布式锁。redis分布式锁第一版大家应该都知道Redis做分布式锁无非就是INCR命令或者是SetNx命令,这里我们采用setnx命令。操作:setnx key 如果操作成功则代表拿到锁,如果没...

2019-08-07 13:10:50 1568

原创 解答面试题——Spring bean的作用域和生命周期

我们来分析一下

2019-06-14 12:01:47 1975 1

原创 数据库优化篇——EXPLAIN关键字使用

EXPLAIN EXTENDEDexplain extended 会在 explain 的基础上额外提供一些查询优化的信息。紧随其后通过 show warnings 命令可以 得到优化后的查询语句,从而看出优化器优化了什么。额外还有 filtered 列,是一个半分比的值,rows * filtered/100 可以估算出将要和 explain 中前一个表进行连接的行数(前一个表指 expla...

2019-06-05 11:34:22 2189 2

原创 数据库优化篇——索引数据结构

索引是什么?工作中,在数据库查询中,可能有些人觉得只要加了索引查询速度就很快,其实并不是这样子的。当然索引到底是什么东西呢?索引:索引是帮助MySQL高效获取数据的排好序的数据结构,该数据结构是存储在文件中的。上面的是一个对索引的一个解释,我们可以看出索引其实是一个数据结构。效果就是高效率获取结果。当然,这也是我们正确使用这个数据结构的结果。索引的数据结构索引的常用数据结构有二叉...

2019-05-27 16:57:38 659 5

原创 解决BigDecimal工作中遇到的坑

BigDecimal精度遇到的坑工作中遇到的问题BigDecimal失精的原因解决办法工作中遇到的问题作为一个新手,记得在第一次使用同事推荐的BigDecimal这个包装类的时候,遇到了很多问题,开始在使用BigDecimal的时候,用的是转double然后做运算,结果最后失精了,这是小编一开始用的时候遇到的一个很愚蠢的问题 .希望大家不要嘲笑,后来慢慢的测试和查看资料发现,BigDecima...

2019-05-14 11:40:25 2027

原创 第一篇博客

我的第一篇博客今后需要做些什么自我介绍我写博客为了什么写博客的方向今后需要做些什么大家好,今天是我加入博客的第一天,以后希望能在这里学到更多的知识和技能,希望和大家一起进步,今后我会发表一些在工作中遇到的难题的解决方案和一些自己在工作中的一些自己的见解。自我介绍我是一名java程序猿,入行业有两三年了,技术不算深,目前开始学习项目架构的一些知识。我也会分享记录一些架构上面的一知识,和个人见...

2019-05-13 18:36:24 214

空空如也

空空如也

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

TA关注的人

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