- 博客(23)
- 资源 (6)
- 收藏
- 关注
原创 Dubbo学习一
Dubbo是一个分布式的RPC框架,自己虽然没在实际项目中用过,但是还是利用课余的时间自己摸索的学习了一下。 首先介绍一下用idea搭建maven形式的dubbo项目,因为idea不同于eclipse没有工作空间的说法,用idea搭建项目只能用model的形式来,下图是完整的项目目录结构 dubbo-interface是对外提供的借口 dubbo-user-provider是用户服务的提供者 d...
2019-05-11 16:19:04 177
原创 自己实现lock
package com.hwq.fundamment.Thread; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; /** * @author hwq * @date 2019/04/07 ...
2019-04-07 21:33:43 132
原创 RabbitMQ学习七
RabbitMQ之消息确认机制(事务+Confirm) 原文的连接:https://blog.csdn.net/u013256816/article/details/55515234 RabbitMQ 为我们提供了两种方式: 生产者 1、 通过 AMQP 事务机制实现,这也是 AMQP 协议层面提供的解决方案; 2、通过将 channel 设置成 confirm 模式来实现; 以下代码是基于AMQ...
2019-03-24 12:01:45 129
原创 RabbitMQ学习六
PS模式(订阅与发布) public class Send { private final static String EXCHANGE_NAME = "test_exchange_fanout"; public static void main(String[] args) throws Exception { //链接MQ 创建通道 Connection connecti...
2019-03-24 11:45:16 97
原创 RabbitMQ学习五
订阅模式 Publish/Subscribe 模型图 我们之前学习的都是一个消息只能被一个消费者消费,那么如果我想发一个消息 能被多个消费者消费,这时候怎么 办? 这时候我们就得用到了消息中的发布订阅模型 在前面的教程中,我们创建了一个工作队列,都是一个任务只交给一个消费者。 这次我们做 将消息发送给多个消费者。这种模式叫做“发布/订阅”。 举列: 类似微信订阅号 发布文章消息 就可以广播给所有...
2019-03-23 16:23:35 80
原创 RabbitMQ学习四
Message acknowledgment(消息应答) boolean autoAck = false; channel.basicConsume(QUEUE_NAME, autoAck, consumer); boolean autoAck = true;(自动确认模式)一旦 RabbitMQ 将消息分发给了消费者,就会从内存中删除。 在这种情况下,如果杀死正在执行任务的消费者,会丢失正在处...
2019-03-23 16:06:31 96
原创 RabbitMQ学习三
workqueues 工作队列 1、Round-robin(轮询分发) 模型图 为什么会出现 work queues? 前提:使用 simple 队列的时候 我们应用程序在是使用消息系统的时候,一般生产者 P 生产消息是毫不费力的(发送消息即可),而消费者接收完消息 后的需要处理,会耗费一定的时间,这时候,就有可能导致很多消息堆积在队列里面,一个消费者有可能不够用 那么怎么让消费者同事处理多个消...
2019-03-23 16:03:40 142
原创 RabbitMQ学习二
简单队列 hello world java操作获取MQ连接,因为每次都要获取连接所以这里抽取出一个公共方法 //定义连接工厂 ConnectionFactory factory = new ConnectionFactory(); //设置服务地址 factory.setHost("127.0.0.1"); //端口 factory.setPort(567...
2019-03-23 14:47:56 114
原创 RabbitMQ学习一
RabbitMQ安装与权限的配置 一、安装 RabbitMQ是基于一种叫Erlang的开发语言编写的,Erlang – 面向并发的编程语言。 AMQP:是消息队列的一个协议(基于这种协议实现的) 二、权限的配置 下图是RabbitMQ启动后登陆的首页,官方给的默认登陆用户名和密码都是guest ...
2019-03-23 14:32:51 115
原创 ArrayList 的底层分析
ArrayList ArrayList 实现于 List、RandomAccess 接口。可以插入空数据,也支持随机访问。 ArrayList相当于动态数据,其中最重要的两个属性分别是: elementData 数组,以及 size 大小。 在调用 add() 方法的时候: public boolean add(E e) { ensureCapacityInternal(size + 1)...
2019-02-15 14:55:42 102
转载 天下无难试之Redis面试刁难大全
Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。作为一名在互联网技术行业打击过成百上千名【请允许我夸张一下】的资深技术面试官,看过了无数落寞的身影失望的离开,略感愧疚,故献上此文,希望各位读者以后面试势如破竹,永无失败! Redis有哪些数据结构? 字符串String、字典Hash、列表List、集合Set、有序集合Sor...
2019-02-15 11:31:18 217
转载 CopyOnWriteArrayList
初识CopyOnWriteArrayList 第一次见到CopyOnWriteArrayList,是在研究JDBC的时候,每一个数据库的Driver都是维护在一个CopyOnWriteArrayList中的,为了证明这一点,贴两段代码,第一段在com.mysql.jdbc.Driver下,也就是我们写Class.forName("…")中的内容: public class Driver exten...
2019-02-14 14:18:15 103
转载 我们为什么要使用AOP?
原文地址http://www.cnblogs.com/xrq730/p/7003082.html,转载请注明出处,谢谢 前言 一年半前写了一篇文章Spring3:AOP,是当时学习如何使用Spring AOP的时候写的,比较基础。这篇文章最后的推荐以及回复认为我写的对大家有帮助的评论有很多,但是现在从我个人的角度来看,这篇文章写得并不好,甚至可以说是没有太多实质性的内容,因此这些推荐和评论让我觉得...
2019-02-14 11:07:27 164
转载 40个Java多线程问题总结
前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所...
2019-02-14 11:03:11 124
转载 图解集合1:ArrayList
前言 这个分类中,将会写写Java中的集合。集合是Java中非常重要而且基础的内容,因为任何数据必不可少的就是该数据是如何存储的,集合的作用就是以一定的方式组织、存储数据。这里写的集合,一部分是比较常见的、一部分是不常用但是我个人平时见到过的,一些比较相似的集合(比如HashMap和Hashtable)就只讲一个,突出它们之间的区别即可。 最后,要指出一点,对于集合,我认为关注的点主要有四点: 1...
2019-02-14 11:02:02 113
转载 从为什么String=String谈到StringBuilder和StringBuffer
有这么一段代码: 复制代码 1 public class TestMain 2 { 3 public static void main(String[] args) 4 { 5 String str0 = "123"; 6 String str1 = "123"; 7 System.out.println(str0 == str1);...
2019-02-13 17:34:42 86
转载 static关键字作用总结
static关键字作用总结 静态变量和静态方法 static关键字最基本的用法是: 1、被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来 2、被static修饰的方法属于类方法,可以通过类名.方法名直接引用,而不需要new出一个类来 被static修饰的变量、被static修饰的方法统一属于类的静态资源,是类实例之间共享的,换言之,一处变、处处变。JDK把...
2019-02-13 17:25:52 146
转载 谈谈final的作用
final关键字的作用 相信对于final的用法,大多数人都可以随口说出三句话: 1、被final修饰的类不可以被继承 2、被final修饰的方法不可以被重写 3、被final修饰的变量不可以被改变 重点就是第三句。被final修饰的变量不可以被改变,什么不可以被改变呢,是变量的引用?还是变量里面的内容?还是两者都不可以被改变?写个例子看一下就知道了: 复制代码 1 public class Fi...
2019-02-13 17:16:02 230
转载 Redis分布式锁的正确实现方式(Java版)
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。 可靠性 首先,为了确保分布式锁可用,我们至少要确保锁的实现同...
2018-12-16 17:34:25 123
转载 session一致性架构设计实践
一、缘起 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。 Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建session,提供数据存储功能。最常见的,会把用户的登录信息、用户信息存储在session中,以保持登录状态。 什么是session一致性问题? 只要用户不重启浏览器,每次http短连接请求,理论上服务...
2018-12-16 17:27:53 86
原创 Zookeeper选举Master
Zookeeper选举master可以保证一台服务器执行,在项目中运用到的是在没有专门的定时任务服务时,由于一个服务会启多个节点这样就会导致节点之前去抢定时任务,从而造成数据的不一致性。 根据之前说的情况,我用了Zookeeper选举Master的原理来保证同一时间只有一个服务在执行服务中的定时任务。 下面是实现代码: 第一个类 package com.baibei.pay.configurer;...
2018-11-28 15:22:10 315
原创 Zookeeper项目中用到的分布式锁
例子 private static boolean wasAcquired = false;// 是否获取了锁 public void tetsZookeeper(){ String serverId = UUID.randomUUID().toString().toLowerCase(); AccountLock lock = new AccountLock("/ACCOUNT/" + serv...
2018-11-28 14:51:24 179
原创 SpringBoot+Redis集群版
第一个类 package com.baibei.pay.redis; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conf...
2018-11-28 14:44:17 273
Spring SpringMVC Hibernate
2017-09-19
commons jar包
2017-09-03
微信开发jar包
2017-09-03
amcharts_3.14.2.free
2015-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人