- 博客(28)
- 资源 (4)
- 收藏
- 关注
原创 Spring EventListener注解原理及使用
@EventListener注解原理一、测试代码测试用例public class SpringEventTest { @Test public void test_listener() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Ev...
2019-10-09 18:17:50 7041 1
原创 顺序消费RabbitMQ的消息
顺序消费RabbitMQ的消息多个rabbitMq客户端顺序消费消息,通过zookeeper的客户端封装curator实现分布式锁。一、所需依赖 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-cl...
2018-06-25 12:00:04 9420 1
原创 Maven项目pom.xml文件使用阿里的仓库
<repositories> <repository> <id>aliyun-repos</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <sn...
2019-09-26 10:49:17 969
原创 mysql sum为空时默认显示0
mysql sum为空时默认显示0问题描述使用sum函数汇总数据时,当匹配的数据为空时会返回null值。解决方法使用 COALESCESELECT COALESCE(NULL, …一长串NULL…,NULL, 0);返回值0示例SELECT COALESCE(SUM(t.point),0) AS zero_point,SUM(t.point) AS pointFROM `u...
2019-09-24 15:52:15 10208
转载 系统设计:关于高可用系统的一些技术方案
系统设计:关于高可用系统的一些技术方案可靠的系统是业务稳定、快速发展的基石。那么,如何做到系统高可靠、高可用呢?下面从技术方面介绍几种提高系统可靠性、可用性的方法。扩展扩展是最常见的提升系统可靠性的方法,系统的扩展可以避免单点故障,即一个节点出现了问题造成整个系统无法正常工作。换一个角度讲,一个容易扩展的系统,能够通过扩展来成倍的提升系统能力,轻松应对系统访问量的提升。一般地...
2019-08-22 16:33:28 577
转载 RabbitMQ 的延时队列和镜像队列原理与实战
摘要:在阿里云栖开发者沙龙PHP技术专场上,掌阅资深后端工程师、掘金小测《Redis深度历险》作者钱文品为大家介绍了RabbitMQ的延时队列和镜像队列的原理与实践,重点比较了RabbitMQ提供的消息可靠与不可靠模式,同时介绍了生产环境下如何使用RabbitMQ实现集群间消息传输。本次直播视频精彩回顾,戳这里!直播回顾:https://yq.aliyun.com/live/965...
2019-08-22 14:12:30 512
转载 分布式事务的四种解决方案
简述分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。解决方案在分布式系统中,要实现分布式事务,无外乎那几种解决方案。一、两阶段提交(2PC)两阶段提交(Two-phase Commit,2PC),通过引入协调者(Coordinator)来协调参与者的行为,并最终决定这些参与者是否要真...
2019-08-21 14:48:46 209
转载 突破github的100M单个大文件上传限制
偶尔把几本电子书传到github上,其中一本关于c++的有147M(在本地磁盘占用了150M空间),使用普通的方式,最终会被github 服务器拒绝。在github 官网上也有了相关说明,具体请查看:https://help.github.com/articles/working-with-large-files/https://help.github.com/articles/condit...
2019-03-28 15:36:45 1194
转载 Kafka史上最详细原理总结
Kafka史上最详细原理总结Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scal...
2019-03-27 17:32:55 332
原创 kafka常用命令
zookeeper安装 # 安装zookeeper brew info zookeeper brew install zookeeper # 安装路径 ls /usr/local/Celler/zookeeper # 配置信息路径 ls /usr/local/etc/zookeeper启动# 启动服务端./zkServer start# 启动客户端./zkCli...
2019-03-27 11:18:03 229
原创 ThinkPad L440安装centos7系统
1.下载centos文件https://www.centos.org/2.使用fedora制作U盘启动盘https://getfedora.org/zh_CN/workstation/download/3.重启系统 F12进入 选择从U盘启动 安装。。。。。。...
2019-01-18 14:16:46 1176
原创 SpringBoot定时消费Kafka消息
使用@KafkaListener定时消费代码示例基于SpringBoot2.0.4版本,spring-kafka:2.1.7.RELEASE消费者 KafkaTaskService.java@Servicepublic class KafkaTaskService { private static final Logger log = LoggerFactory.getL...
2018-09-21 10:01:46 15228 1
转载 Kafka入门:简介、使用场景、设计原理、主要配置以及集群搭建
问题导读: 1. zookeeper在kafka的作用是什么? 2. kafka中几乎不允许对消息进行“随机读写”的原因是什么? 3. kafka集群consumer和producer状态信息是如何保存的? 4. partitions设计的目的的根本原因是什么?一、入门1、简介 Kafka is a distributed...
2018-09-10 10:43:13 236
原创 策略模式
策略模式策略模式(Strategy):它定义了算法家族,分别封装起来,它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 简单的代码实现 算法//抽象算法接口public interface Strategy { //抽象算法 void algorithmInterface();}public class ConcreteStrategyA...
2018-04-11 15:20:28 121
原创 简单工厂模式
简单工厂模式的代码示例//运算类public interface Operator { double getResult(double a,double b);}//加法类public class OperatorAdd implements Operator { @Override public double getResult(double a, dou...
2018-04-11 14:16:17 138
原创 Centos7搭建nginx并提供外网访问
问题:搭建nginx之后,80端口,其他机器无法访问,但是可以ping通解决方法://允许某端口放行# firewall-cmd --permanent --add-port=3389/tcp需要留意的是在编写完规则之后,要运行--reload参数# firewall-cmd --reload查询端口号80 是否开启:firewall-cmd --query-port=...
2018-03-22 14:57:14 8296
原创 Spring事务管理(详解+实例)
代码public class ColorPrinter { static String TEMPLATE_BLACK = "\033[;30m%s\033[0m"; static String TEMPLATE_RED = "\033[;31m%s\033[0m"; static String TEMPLATE_GRREEN = "\033[;32m%s\033[0
2018-01-19 16:46:49 169
转载 HttpClient超时设置详解
HttpClient 4.3。HttpClient这货和Lucene一样,每个版本的API都变化很大,这有点让人头疼。就好比创建一个HttpClient对象吧,每一个版本的都不一样。3.X是这样的HttpClient httpClient=new DefaultHttpClient();4.3是这样的CloseableHttpClient httpClient = HttpClients.creat
2018-01-19 15:16:20 6332
原创 windows下启动redis
1.启动redis服务器,并指定配置文件 redis-server.exe redis-windows.conf 2.启动redis客户端,指定ip,端口,密码 redis-cli.exe -h localhost -p 6379 -a 123 3.如果提示NOAUTH Authentication required. 执行 auth "密码"即可
2018-01-17 14:50:34 2859
转载 第一章 Shiro简介
转自:http://jinnianshilongnian.iteye.com/blog/2018936/1.1 简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro
2018-01-03 17:58:42 164
原创 git使用文档
gitlab使用手册一、git安装使用1.在 Linux 上安装如果你想在 Linux 上用二进制安装程序来安装 Git,可以使用发行版包含的基础软件包管理工具来安装。 如果以 Fedora 上为例,你可以使用 yum: $ sudo yum install git 如果你在基于 Debian 的发行版上,请尝试用 apt-get: $ sudo apt-get install git2.在
2018-01-03 17:37:43 426
原创 XStream的简单使用
本文主要介绍了常用的XML节点与Java Bean之间的映射。主要文件有,XML字符串,XML对应的JavaBean,XmlUtils.java ,XStreamEx.java(该类用于解决Xml存在节点,而JavaBBean中不存在就会报错的情况)所需要的依赖 com.thoughtworks.xstream xstrea
2017-12-27 10:29:07 1437
原创 JVM内存模型
1.运行时数据区域 根据《Java虚拟机规范》规定,java虚拟机所管理的内存将会包含以下几个运行时数据区域。1.1程序计数器 Program Counter Register 程序计数器是一个比较小的内存空间,可以看做是当前线程所执行的代码的行号指示器。在虚拟机改建模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理...
2017-12-26 21:27:54 183
原创 垃圾收集器
Java虚拟机规范中对垃圾收集器应该如何实现没有任何规定,因此不同的厂商、不同版本的虚拟器所提供的垃圾收集器都可能有很大的差别,并且一般都会都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。这里讨论的收集器基于JDK1.7Update 14 之后的HotSpot虚拟机,如下图:
2017-12-26 20:37:49 132
原创 HttpUtils
import java.io.IOException;import java.io.InterruptedIOException;import java.io.UnsupportedEncodingException;import java.net.UnknownHostException;import java.util.*;import java.util.concurrent.Co
2017-10-09 15:12:07 732
Spring源码深度解析
2017-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人