11 绝迹996

尚未进行身份认证

我要认证

既然选择了远方,便只顾风雨兼程

等级
TA的排名 18w+

对汉诺塔java实现的理解记录

参考链接 https://blog.csdn.net/zandaoguang/article/details/76889284参考链接 https://blog.csdn.net/qq_37873310/article/details/80461767汉诺塔的原理就不多说了,请参考以上两篇文章。在理解汉诺塔的过程中对以上两篇文章的变量名产生过迷惑,在理解了之后,将函数中的变量名从A,B...

2019-09-27 16:46:18

Redis系列(3) Jedis Redission 开发示例

redis开发中,比较常用的工具包有两个,Jedis和Reddisson。其中Jedis封装的都是一些基础的redis操作,如get()、set()等。而Reddisson中封装的都是一些比较高级的功能,比如分布式锁、队列、Map等。1. Jedis1.1 Maven<dependency> <groupId>redis.clients</gro...

2019-01-21 11:31:37

Redis系列(2) 功能解析 普通操作、发布订阅、分布式锁

1.普通操作2. 发布订阅上图为发布订阅的简单示例,当使用集群模式的时候,情况就会比较复杂,如下图:由于频道不同于Key,无法进行slot计算,所以进行订阅的时候无法计算具体的Redis节点,所以只能在随机的节点进行订阅。当发布消息时,会进行集群之间的同步,最终每个节点都会收到发布的消息,然后将消息发送给本地的订阅者。3. 分布式锁 redis分布式锁不是r...

2019-01-18 10:42:57

Redis系列(1)----Redis集群 主从 架构

1.集群架构Redis的集群模式采用的是无中心模式。 在Redis集群模式中,把所有的空间分为16384个槽位(slot)。默认情况下,所有的Master节点平分所有槽位。由于Slave节点会从Master节点同步所有数据,所以从节点和对应的主节点的槽位相同。 客户端在启动时,会从配置的节点列表中的某一个节点中,获取到所有集群相关的信息,包括槽位的分配信息等。 客户端程序在进行操作时...

2019-01-18 10:31:53

Java基础系列(5) ---序列化

1.什么是序列化?序列化可以将任意对象写出到流中,并在之后将其读回。2.功能举例可以使用序列化将对象持久化到磁盘,等到使用时再读出来,可以节省内存。可以通过网络传递对象。3.示例想要一个类生成的对象可以被序列化,必须实现Serializable接口public class Book implements Serializable{ public stat...

2019-01-09 11:27:53

Java笔记 ------- 带标签的break、continue,如何跳过多重循环

1. break在java中将goto关键字作为保留字,但是并没用使用它,但是可以使用break语句执行相似的跳转功能。举例如下: label:for(int i=0;i<3;i++){ System.out.println("i=" + i); for(int j=0;j<3;j++) { System.out.println...

2018-12-28 11:06:34

Java基础系列(4)并发队列 ConcurrentLinkedQueue、ArrayBlockingQueue、LinkedBlockingQueue

1. 线程安全ConcurrentLinkedQueue、ArrayBlockingQueue、LinkedBlockingQueue都是线程安全的队列,都可以进行并发编程。2. 阻塞ConcurrentLinkedQueue是非阻塞的队列,通过CAS算法实现,效率较高;ArrayBlockingQueue和LinkedBlockingQueue都是阻塞的,实现了BlockingQue...

2018-12-20 11:54:23

maven-shade-plugin使用记录 (设置main class, 排除META-INF/*.SF等文件)

1. pom.xml<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>

2018-12-18 16:57:09

maven-assembly-plugin插件使用记录

1. pom.xml<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> &

2018-12-18 16:47:33

rocketmq系列(3) 开发 API

1. 发送普通消息2. 发送事务消息3. 接收普通消息4. 接收广播消息1. 发送普通消息public class Producer { public static void main(String[] args) { //生产者组 String producerGroup="ProducerGroup"; //Name Serv...

2018-12-18 12:01:02

rocketmq 系列(2) 架构、原理、实现

1. 集群架构2. 存储方式3. 消费者分配策略4. 事务消息5. 二阶段提交以及事务回查问题6. 顺序消息7. 负载均衡8. 消费进度1. 集群架构                                                     网图所有Broker在启动时,向Name Server集群注册。并通过心跳进行状态保持。 Brok...

2018-12-13 18:48:42

rocketmq系列(1)功能简介

1. Rocketmq是什么2. 术语  2.1 Producer  2.2 Producer Group  2.3 Consumer  2.4 Consumer Group  2.5 Topic  2.6 Queue  2.7 Message  2.8 Tag  2.9 Broker  2.10 Name Server3. 功能特性  3.1 ...

2018-12-13 18:31:43

Java基础系列(3) 代理 (使用方式、深层原理解析)

前言1.何时使用代理 ?2.使用步骤2.1 实现InvocationHandler2.2 接口类2.3 实现类2.4 创建代理类以及执行代理方法3. 原理解析前言如果希望较为深入的理解代理这种模式,必须先学习一下反射相关的知识,可参考我上一篇文章反射。如果只是想了解如何使用,直接尝试即可。 代理分为静态代理和动态代理,由于静态代理比较简单而且不常用,所以本文只...

2018-12-12 14:52:08

Java基础系列 (2) 反射

1.Class类1.1有三种方式获取到Class的对象1.2 可以使用 "=="1.3 newInstance() 方法1.4 forName 与 newInstance() 配合2. 分析类2.1 Field、Method 和 Constructor3. 运行时获取域的值4. 调用方法1.Class类在java运行时系统中,每当成功加载了一个类,都会为之创...

2018-12-11 14:36:33

zookeeper系列(六) curator三种监听器(Cache)方式

目录 1. NodeCache2. PathChildrenCache3. TreeCache1. NodeCache这是最简单的一种监听方式,只监听固定节点的内容变化。public class CuratorBaseTest { /* url : zookeeper 地址 * namespace : 起始路径 * id0 : 用户名 * id...

2018-12-07 18:15:41

zookeeper系列(五) curator的基本操作 ACL权限

1. 简介2. Maven3. 操作3.1 重试策略3.2 连接3.3 基本操作1. 简介Apache Curator 是Netflix公司开源的一个Zookeeper Java客户端操作框架,现在已经是Apache的顶级项目。与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端的开发。并且提供了很多场景下的使用模板,在...

2018-12-07 18:04:19

zookeeper系列(四)zkCli.sh客户端命令介绍

目录 1.连接服务器2. help 命令3. addauth scheme auth 鉴权4. ls path 查看目录5. stat path 获取节点的状态信息6. get path 获取内容7. ls2 path 是ls 和 stat两个命令的结合8.create [-s] [-e] path data acl 创建节点9. delete path [...

2018-12-06 15:56:37

zookeeper系列(二) zookeeper整体结构及使用场景

目录1. 简介2. 集群架构3. 数据模型4. 使用场景(常用功能)4.1 Master选举4.2 成员管理(负载均衡实现)4.3 配置管理(发布订阅)4.4 任务分配4.5 分布式锁 1. 简介Zookeeper是一个开源的分布式协调服务,其设计目标是将那些复杂的且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一些简单的接口提供...

2018-12-05 18:14:23

zookeeper系列(一) zookeeper集群安装

以3.4.6版本为例,假设安装路径为 /home/zookeeper, 3个节点1.下载下载地址 https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz将zookeeper-3.4.6.tar.gz下载到 /home/zookeeper2.解压tar -zxvf zooke...

2018-12-05 11:52:05

Java基础系列(1)数据类型。(Char,Unicode,UTF-16)

Java是一种强类型语言。这就意味着必须为每一个变量声明一种类型。在Java中,一共有8种基本类型(Primitive Type)。其中有4种整型、2种浮点型、1种用户表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型。 1. 整型用于表示没有小数部分的数值,允许为负。 类型 字数 范围 类型 ...

2018-12-04 18:52:24

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。