自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 使用Redis实现分布式锁及其优化

目前实现分布式锁的方式主要有数据库、Redis和Zookeeper三种,本文主要阐述利用Redis的相关命令来实现分布式锁。相关Redis命令SETNX如果当前中没有值,则将其设置为并返回1,否则返回0。EXPIRE将设置为秒后自动过期。GETSET将的值设置为,并返回其原来的旧值。如果原来没有旧值,则返回nil。EVAL与EVALS

2017-11-25 15:58:19 214

原创 Apache RocketMQ源码-Producer分析

正文首先我们看一下Producer的继承结构: MQAdmin主要包含一些管理性的接口,比如创建topic、查询某个特定消息以方便排查问题,ClientConfig主要定义了一些基本的配置,比如持久化consumer端消费offset的间隔时间(offset就是consumer端当前消费到的位置,offset的持久化机制也决定了是exactly once 还是根据时间戳等消费),然后再来看D...

2017-11-25 15:27:31 359

转载 详解JAVA线程中的那些事

引言说到Thread大家都很熟悉,我们平常写并发代码的时候都会接触到,那么我们来看看下面这段代码是如何初始化以及执行的呢?public class ThreadDemo { public static void main(String[] args) { new Thread().start(); }}初始化流程代码就一行很简单,那么这行简单的代码

2017-11-24 17:38:15 239

转载 Spring参数验证顺序问题

问题今天遇到一个小问题,在进行表单提交之后,直接进入了400错误页面,这个比较诡异,我所做的无非就是进行了简单的参数验证,提取BindingResult中的信息放到Model中方便前台显示,如下:12345678910@RequestMapping(value = "/user/publish",method = RequestMethod.POST

2017-11-23 15:30:05 1573

转载 MyBatis——动态SQL简介

动态 SQLMyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,

2017-11-23 15:23:12 204

原创 如何使用Spring Boot与RabbitMQ结合实现延迟队列

背景 何为延迟队列? 顾名思义,延迟队列就是进入该队列的消息会被延迟消费的队列。而一般的队列,消息一旦入队了之后就会被消费者马上消费。延迟队列能做什么?延迟队列多用于需要延迟工作的场景。最常见的是以下两种场景:延迟消费。比如: 用户生成订单之后,需要过一段时间校验订单的支付状态,如果订单仍未支付则需要及时地关闭订单。 用户注册成功之后,需要过一段时间比如一周后校验用户的使用情况...

2017-11-22 17:36:07 1407 2

空空如也

空空如也

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

TA关注的人

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