自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 一招教你使用注解处理幂等问题 8种方案解决重复提交

1.什么是幂等幂等:F(F(x))=F(x) 多次运算 结果一致在我们编程中 1)select 查询 天然幂等 2)delete 删除也是幂等 删除同一个多次效果一样 3) update 直接更新某个值的 幂等 4)update更新累加操作的 非幂等5)insert 非幂等操作 每次新增一条2.产生原因由于重复点击或者网络重发 eg: 1)点击提...

2019-07-10 11:55:00 457

转载 JAVA并发理解之重排序问题

首先我们先来了解一下什么是重排序:重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。从Java源代码到最终实际执行的指令序列,会分别经历下面3种重排序,如下图所示 上述的1属于编译器重排序,2和3属于处理器重排序。这些重排序可能会导致多线程程序出现内存可见性问题。在单线程程序中,对存在控制依赖的操作重排序,不会改变执行结果(这也是as-...

2019-05-20 13:50:00 175

转载 java中的锁:你了解乐观锁和悲观锁吗?

前言乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景。一、基本概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则...

2019-05-10 10:06:00 160

转载 Java几种常用JSON库性能比较

本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库。但是百闻不如一见,只有自己亲手测试过的才是最值得相信的。JSON不管是在Web开发还是服务器开发中是相当常见的数据传输格式,一般情况我们对于JSON解析构造的性能并不需要过于关心,除非是在性能要求比较高的系统。目前对于Java开源的JSON类库有很...

2019-04-17 16:09:00 109

转载 对象属性拷贝工具类大全==>Bean的属性拷贝从此不用愁

大家在做java开发时,肯定会遇到api层参数对象传递给服务层,或者把service层的对象传递给dao层,他们之间又不是同一个类型对象,但字段又是一样,如果还是用普通的get、set方式来处理话,比较繁琐,.... 那么你来跟我学....."天下武功,唯快不破"===>要的就是快....1.使用get/set不用说了,字段一多脑壳大....2.BeanCopier 使用了cgli...

2019-04-17 11:33:00 178

转载 SpringBoot集成RabbitMQ 从零到一,学会MQ异步和解耦--

RabbitMQ 概念RabbitMQ 即一个消息队列,_主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。_RabbitMQ使用的是AMQP协议,它是一种二进制协议。默认启动端口 5672。消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ。消息中间件最主要的作用是解耦...

2018-12-19 14:31:00 147

转载 手把手教学在Springboot中搭建使用Guava cache,包教包会,不会我输一包辣条给你

guava cache使用简介  概述  缓存是日常开发中经常应用到的一种技术手段,合理的利用缓存可以极大的改善应用程序的性能。   Guava官方对Cache的描述连接   缓存在各种各样的用例中非常有用。例如,当计算或检索值很昂贵时,您应该考虑使用缓存,并且不止一次需要它在某个输入上的值。   缓存ConcurrentMap要小,但不完全相同。最根本的区别在于一个Concu...

2018-12-18 11:26:00 734

转载 spring注解式参数校验

很痛苦遇到大量的参数进行校验,在业务中还要抛出异常或者返回异常时的校验信息,在代码中相当冗长,今天我们就来学习spring注解式参数校验.其实就是:hibernate的validator.开始啦......1.controller的bean加上@Validated就像这样1 @ApiOperation(value = "用户登录接口", notes = "...

2018-12-13 17:57:00 322

转载 分布式系统-主键唯一id,订单编号生成-雪花算法-SnowFlake

分布式系统下 我们每台设备(分布式系统-独立的应用空间-或者docker环境)* SnowFlake的优点是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作区分),并且效率较高,经测试,SnowFlake每秒能够产生26万ID左右。所以我们可以为分布式系统下:分库分表主键,分库,多库的情况下的订单编号使用这种方式进行唯一numbe...

2018-12-07 11:36:00 545

转载 分布式事务Hmily TCC源码--学习整合

一、什么是分布式事务分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点上,本质上来说,分布式事务是为了保证不同数据库的数据一致性TCC事务主要是基于AOP切面拦截实现的三阶段提交事务,下面我们来跟读源码====>hmily,这原本是5个根本不相干的英文字母拼凑在一起的。我第一次看到关于它的故事是在某年某月某日的某...

2018-12-04 14:46:00 426

转载 java8--List转为Map、分组、过滤、求和等操作----代码示例

Java 8 函数式编程风格Java 迄今为止最令人激动的特征。这些新的语言特征允许采用函数式风格来进行编码,我们可以用这些特性完成许多有趣的功能。这些特性如此有趣以至于被认为是不合理的.他们说会影响计算速度,但是虽然是真的,但是存在皆合理.所以我们摒弃缺点,研究优点.演练今天的新闻联播播出的主要内容有:list转map,list使用lambda求和,等聚合运算,映射分类...

2018-12-03 18:07:00 376

转载 分布式事务-第一刀

A. 分布式事务概述1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 原子性(atomicity):个事务是一个不可分割的工作单位,事务中包括的诸操作要么...

2018-11-30 16:42:00 87

空空如也

空空如也

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

TA关注的人

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