自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

发飙的卡卡西的blog

记录一下知识,方便日后回顾

  • 博客(13)
  • 收藏
  • 关注

转载 2PC和3PC

为了解决分布式一致性问题,产生了不少经典的分布式一致性算法,本文将介绍其中的2PC和3PC。2PC即Two-Phase Commit,译为二阶段提交协议。3PC即Three-Phase Commit,译为三阶段提交协议。 分布式系统和分布式一致性问题   分布式系统,即运行在多台不同的网络计算机上的软硬件系统,并且仅通过消息传递来进行通信和协调。  分布式一致性问题,即相互独立的节点...

2018-10-17 10:16:32 376

转载 ZooKeeper之ZAB协议

ZooKeeper为高可用的一致性协调框架,自然的ZooKeeper也有着一致性算法的实现,ZooKeeper使用的是ZAB协议作为数据一致性的算法,ZAB(ZooKeeper Atomic Broadcast )全称为:原子消息广播协议;ZAB可以说是在Paxos算法基础上进行了扩展改造而来的,ZAB协议设计了支持崩溃恢复,ZooKeeper使用单一主进程Leader用于处理客户端所有事务请求,...

2018-10-17 10:14:40 325

转载 一致性算法Raft详解

背景  熟悉或了解分布性系统的开发者都字段一致性算法的重要性,Paxos一致性算法从90年提出到现在已经有二十几年了,而Paxos流程太过于繁杂实现起来也比较复杂,可能也是以为过于复杂 现在我听说过比较出名使用到Paxos的也就只是Chubby、libpaxos,搜了下发现Keyspace、BerkeleyDB数据库中也使用了该算法作为数据的一致性同步,虽然现在很广泛使用的Zookeeper也...

2018-10-17 10:12:43 255

转载 一致性算法Paxos详解

   分布式系统除了能提升整个系统的性能外还有一个重要的特性就是提高系统的可靠性,可靠性指的是当分布式系统中一台或N台机器宕掉后都不会导致系统不可用,分布式系统是state machine replication的,每个节点都可能是其他节点的快照,这是保证分布式系统高可靠性的关键,而存在多个复制节点就会存在数据不一致的问题,这时一致性就成了分布式系统的核心;在分布式系统中必须保证:  假如在分布...

2018-10-17 10:11:27 200

原创 线程池使用中出现的问题

背景应用中有一个定时任务,轮询一张表的数据(task)处理每个task,每个task都会用线程池来处理,如下,A方法:其中每个sync的方法中有如下调用,B方法:即在A方法中异步调用B方法,B方法异步调用了C方法,且B方法中使用了countDownLanch来等待所有的子任务(C方法)执行完成。 那么当我的A方法被多个task调用多次时就会出现死锁问题,详细如下:线...

2018-07-17 15:02:40 1802

原创 关于smtp.exmail.qq.com:25端口访问超时的问题

近期由于项目需要,使用了org.apache.commons.email来发送邮件的功能,如下:<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.5&l...

2018-07-11 16:03:57 24462

原创 @Value注解失效

接手一个任务开发预警邮件需求,计划将邮件信息(hostName,用户名,密码,发送方,接受方等)设置为可配置变量,配置在配置中心,使用@Value注解获取配置,如下:@Value("${warning.email.hostName}")private String hostName;@Value("#{'${warning.email.receivers}'.split(',')}")p...

2018-07-10 18:39:27 13781 2

原创 Spring配置的问题

1接手一个废弃的应微服务y

2018-07-05 16:06:08 112

原创 Maven使用中的问题

1.新建微服务应用,引用公司中的公共数据源common-datasource的jar包(含mybatis包),配置好依赖关系后,启动项目,报如下错误:java.lang.NoClassDefFoundError: org/apache/ibatis/cursor/Cursor 网上搜索之后说是因为mybatis和mybatis-spring的版本问题导致的,需要切换版本如下:查看公共数据源jar中...

2018-07-05 10:54:39 128

原创 单例模式的6种实现方式

1.饿汉式package singletonDemo;public class hungerSingleton { private hungerSingleton(){} private static hungerSingleton instance = new hungerSingleton(); public static hungerSingleton ...

2018-05-08 20:30:01 133

原创 Class.forName(className)与ClassLoader().loadClass(className)的区别

面试中会遇到"Class.forName(className)与ClassLoader().loadClass(className)的区别",如果需要知道答案,前提需要先了解到类的加载过程,如下图:1、加载    类的加载阶段,主要是获取定义此类的二进制字节流,并将这个字节流所代表的静态存储结构转化为方法区的运行时数据结       构,最后在Java堆中生成一个代表这个类的java.lang.C...

2018-05-06 21:15:24 1479

转载 反转字符串,如输入“ABC”,输出“CBA”

搜集的java字符串反转方法,一般用于面试,项目中用的很少···[java] view plain copypackage com.Reverse;     import java.util.Stack;     /**  * 8 种字符串反转的方法, 其实可以是9种方法,第9种是使用StringBuffer和StringBuilder中实现的方法  */  public class String...

2018-05-06 20:59:35 5043

原创 常见的排序算法实现和分析

一、冒泡排序1.算法原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 2.代码实现:package SortDemo;/** * on 2018/4/8. */pub...

2018-05-02 11:00:55 120

空空如也

空空如也

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

TA关注的人

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