- 博客(19)
- 收藏
- 关注
转载 RabbitMQ使用多路由,多队列来破除流控
流控机制是我们在使用RabbitMQ最头疼的问题,一旦并发激增时,消费者消费队列消息就像滴水一样慢。 现在我们下单后,需要给通知中心发送消息,让通知中心通知服务商收取订单,并确认提供服务。 我们先给Order接口添加一个发送消息的方法。 public interface Order {...
2019-09-06 00:10:00
567
转载 使用桥接模式来显示下单结果
在用工厂方法模式来下不同订单 中我们看到,我们只简单显示来一个“下单成功”,但实际上我们需要给用户返回到结果可能多种多样。 先增加一个订单结果到接口。 public interface OrderSuccessResult { public OrderSuccessResult ...
2019-09-03 18:07:00
247
转载 用工厂方法模式来下不同订单
现在假设我们有两种类型的订单,汽车服务订单和商城配件订单 我们的抽象订单接口为 public interface Order { public void makeOrder(Order order);} 抽象订单工厂接口为 public interface OrderFa...
2019-09-02 19:29:00
415
转载 Spring JPA起航
从一个helloworld开始 建立好springboot的项目后 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s...
2019-08-31 19:16:00
155
转载 使用简单工厂加接口加适配器模式来遵守开闭原则
我们在平时开发中遇到最多的问题,无异于实体类属性的变化,可能我们开发出来的接口跟前端要的字段很多不一样,或者需求变更,需要返回的很多内容不一样。 假设我们现在有这么一个需求,返回一个配件的详细信息,也许我们之前返回的格式如下 { "code" : ...
2019-08-26 23:12:00
238
转载 Spark算法整理(Java版)
我们首先用idea来搭建Spark项目,具体可以参考提交第一个Spark统计文件单词数程序,配合hadoop hdfs ,只不过我们现在用java语言来编写,而不是Scala. 问题描述:二次排序 二次排序问题解决方案 让归约器读取和缓存给定键的所有值(例如使用一个集合)...
2019-08-26 00:59:00
345
转载 CentOS 7安装jenkins,部署项目完整攻略
要安装jenkins,需要下载jenkins的rpm包,虽然可以使用docker安装,但这里不推荐。 jenkins rpm包的下载地址为http://pkg.jenkins-ci.org/redhat/ 建议下载最新版jenkins-2.190-1.1.noarch.rpm 在安装之前...
2019-08-22 18:59:00
238
转载 Fork/Join框架原理和使用探秘
什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。也是当前执行速度最快的并发框架。 工作窃取算法 工作窃取(work-stealing)算法是指某个线程...
2019-08-21 18:12:00
151
转载 破解在idea中无法加载spring cloud config中多环境配置之谜
先简单说一下spring cloud的配置中心的一些概念 Spring-cloud Config Server 有多种种配置方式, 1、config 默认Git加载 通过spring.cloud.config.server.git.uri指定配置信息存储的git地址,比如:https://...
2019-08-18 11:07:00
250
转载 Springboot actuator使用详解
Springboot actuator是一个追踪各种springboot应用状态的健康检查机制,使用需要添加一个pom <dependency> <groupId>org.springframework.boot</groupId> <...
2019-08-09 01:05:00
665
转载 elasticsearch和mongodb的数据迁移
elasticsearch的数据迁移需要使用的工具为elasticsearch-dump,我们可以直接使用docker来拉取镜像 docker pull taskrabbit/elasticsearch-dump 假设我们要导出的elasticsearch的ip以及索引的地址为http:/...
2019-08-07 17:46:00
378
转载 浅谈spring security中的权限控制
当我们在OAuth登陆后,获取了登陆的令牌,使用该令牌,我们就有了访问一些受OAuth保护的接口的能力。具体可以看本人的这两篇博客OAuth2.0用户名,密码登录解析 OAuth2.0通过token获取受保护资源的解析 但现在我们要区分这些登陆人员的具体分工,哪些接口归哪些登陆人员可以访问...
2019-07-28 10:09:00
573
转载 Spring Boot的消息事件机制
Spring Boot自带了消息机制,可以让我们在一个地方发布消息,多个地方同时接收消息并处理消息,当然这是在同一个JVM内存下进行的,不同的进程还需要使用MQ来实现。我觉得该消息模式跟观察者模式有一定的区别,观察者模式一般观察的是一个对象内部属性发生变化的时候使用。而该消息机制可以在任意地方...
2019-07-21 11:02:00
244
转载 Amino在实际项目中的安装和使用
Amino作为性能卓越的无锁集合包,List线程安全集合执行速度之快远超CopyOnRightArrayList,但它唯一的缺点就是无法用maven直接安装。 我们需要在其官网下载源码,直接安装到我们本地的私有库中。 源码下载地址https://sourceforge.net/projec...
2019-07-17 16:38:00
2035
转载 Mybatis操作mysql 8的Json字段类型
Json字段是从mysql 5.7起加进来的全新的字段类型,现在我们看看在什么情况下使用该字段类型,以及用mybatis如何操作该字段类型 一般来说,在不知道字段的具体数量的时候,使用该字段是非常合适的,比如说——商品的无限属性。 现在我们来假设这么一个场景,在商品的二级分类中给商品定义足...
2019-07-16 19:23:00
3429
转载 JVM内存级分布式缓存Hazelcast
Hazelcast是一个内存分布式计算平台,用于管理数据并并行执行执行应用程序。 1. 它是用Java编写的。 2. 与其他一些内存数据库(如redis)不同,Hazelcast是多线程的,这意味着可从所有可用的CPU内核中受益。 3. 与其他内存数据网格不同 - 它设计用于分布式环境。它支...
2019-07-10 11:05:00
763
转载 MyBatis数据库字段映射Java枚举
有时候我们需要将数据库的字段对Java的枚举类型进行映射,比如说我们有一个汽车配件类型的枚举 public enum ProductType implements Localisable { TYPE1("配件"), TYPE2("车品"); private...
2019-07-09 16:15:00
970
转载 分库分表 vs NewSQL数据库
最近与同行科技交流,经常被问到分库分表与分布式数据库如何选择,网上也有很多关于中间件+传统关系数据库(分库分表)与NewSQL分布式数据库的文章,但有些观点与判断是我觉得是偏激的,脱离环境去评价方案好坏其实有失公允。 本文通过对两种模式关键特性实现原理对比,希望可以尽可能客...
2019-07-05 19:18:00
350
转载 使用JDK的观察者接口进行消息推送
观察者模式就是对对象内部的变化进行观察,当发生改变时做出相应的响应。代码样例见 设计模式整理 ! 因为观察者模式较为重要,使用频率较高,JDK早已经提供了内置的观察者接口以及被观察者父类。 JDK中的观察者接口源码如下 public interface Observer { ...
2019-06-19 12:02:00
145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人