加载中
自旋分布式锁实现

最近都在说AQS,由于手头有地方要实现一个自旋分布式锁,就不得不说一下ReentrantLock的AQS了,有关锁的一般特性可以参考线程,JVM锁整理 AQS的全称为AbstractQueuedSynchronizer,抽象队列同...

Netty整合WebSocket

WebSocket协议是基于 TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端 ,它是先进行一次Http的连接,连接成功后转为TCP连接。 现...

RabbitMQ延迟队列设置

延迟消费。比如:用户生成订单之后,需要过一段时间校验订单的支付状态,如果订单仍未支付则需要及时地关闭订单;用户注册成功之后,需要过一段时间比如一周后校验用户的使用情况,如果发现用...

分布式秒杀

一般在具体的业务中,平台方会发布秒杀席位个数,秒杀的时间段,让各个商家报名,将自己的产品参与秒杀活动。这里将同事画的一张图放上来,大致是这么一个流程。关于秒杀原理可以参考单机秒杀...

Netty整理(三)

接Netty整理(二) ByteBuf:是数据容器(字节容器) JDK ByteBuffer 共用读写索引,每次读写操作都需要Flip() 扩容麻烦,而且扩容后容易造成浪费 关于ByteBuffer的使用方法可以参考序列化和反...

Netty整理(二)

接Netty整理 现在我们来验证一下channel的生命周期。 我们将EchoServerHandler修改如下,增加全部的监听事件,并打印事件方法名称。 /** * 事件处理器 */ @Slf4j public class EchoServerHan...

Spring OAuth框架下增加用户属性的注意事项

今天要在用户类中增加一个枚举属性 public enum UserIdentity implements Localisable { OWNERCAR("车主"), SYSTEMOPERATOR("平台操作员"), SERVICEOPERATOR("服务商"), PRODUCTOPERATOR(......

Java 8日期类型在Springboot Controller,Mybatis中的一些处理

首先Java 8的日期类型LocalDate,LocalDateTime,LocalTime在Mybatis中并没有映射关系,为此mybatis推出了一个补丁。 org.mybatis mybatis-typehandlers-j......

Netty整理

什么是阻塞/非阻塞,什么是同/异步 简介:使用最通俗概念讲解 同步异步、堵塞和非堵塞 洗衣机洗衣服 洗衣机洗衣服(无论阻塞式IO还是非阻塞式IO,都是同步IO模型) 同步阻塞:你把衣服丢到洗...

传统IO与NIO比较

我们先来看一段传统IO的代码 public class OioServer { public static void main(String[] args) throws IOException { //这里可以直接写成ServerSocket server = new ServerSocket(10101); ...

RabbitMQ使用多路由,多队列来破除流控

流控机制是我们在使用RabbitMQ最头疼的问题,一旦并发激增时,消费者消费队列消息就像滴水一样慢。 现在我们下单后,需要给通知中心发送消息,让通知中心通知服务商收取订单,并确认提供服务...

使用桥接模式来显示下单结果

在用工厂方法模式来下不同订单 中我们看到,我们只简单显示来一个“下单成功”,但实际上我们需要给用户返回到结果可能多种多样。 先增加一个订单结果到接口。 public interface OrderSucces...

用工厂方法模式来下不同订单

现在假设我们有两种类型的订单,汽车服务订单和商城配件订单 我们的抽象订单接口为 public interface Order { public void makeOrder(Order order); } 抽象订单工厂接口为 public interface...

Spring JPA起航

从一个helloworld开始 建立好springboot的项目后 pom.xml org.springframework.boot spring-boot-starter-actuator...

使用简单工厂加接口加适配器模式来遵守开闭原则

我们在平时开发中遇到最多的问题,无异于实体类属性的变化,可能我们开发出来的接口跟前端要的字段很多不一样,或者需求变更,需要返回的很多内容不一样。 假设我们现在有这么一个需求,返回...

Spark算法整理(Java版)

我们首先用idea来搭建Spark项目,具体可以参考提交第一个Spark统计文件单词数程序,配合hadoop hdfs ,只不过我们现在用java语言来编写,而不是Scala. 问题描述:二次排序 二次排序问题解决方...

CentOS 7安装jenkins,部署项目完整攻略

要安装jenkins,需要下载jenkins的rpm包,虽然可以使用docker安装,但这里不推荐。 jenkins rpm包的下载地址为http://pkg.jenkins-ci.org/redhat/ 建议下载最新版jenkins-2.190-1.1.noarch.rp...

Fork/Join框架原理和使用探秘

什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。也是当前执行速度最快...

破解在idea中无法加载spring cloud config中多环境配置之谜

先简单说一下spring cloud的配置中心的一些概念 Spring-cloud Config Server 有多种种配置方式, 1、config 默认Git加载 通过spring.cloud.config.server.git.uri指定配置信息存储的git地址,...

Springboot actuator使用详解

Springboot actuator是一个追踪各种springboot应用状态的健康检查机制,使用需要添加一个pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部