摘要:
java8 是一个有里程碑的一个版本,提供了很多的新特性,但这些新特性是实打实有用的,而不是一些鸡肋 Interface 接口新特性 java8 之前,往接口里新加一个方法,那么所有的实现类都需要变动,都需要同步实现这个方法。 java8 给接口新增了两个关键字:default static 使得可 阅读全文
摘要:
介绍 rocket mq 翻译成中文就是火箭消息队列,从名字就可以看出来,它是一个很快的消息队列... rocket mq 是 阿里巴巴研制的后面贡献给 apache 基金会,其设计思想很多都是来自 kafka,所以和 kafka 有不少类似的地方,但是也是有很多 kafka 没有的新特性,比如:广 阅读全文
摘要:
消费者组 kafka 使用消费者组来控制消费组消费,每个消费组都可以消费 topic 的全量信息,消费组内部的消费者再各自进行引流,消费不同的分区信息。 消费者从属于消费组,一个组里的消费者订阅的是相同的主题,每个消费者接收主题一部分的分区的消息。 一个消费者组只有一个消费者的情况 如上图,主题 T 阅读全文
摘要:
一个消息系统说白了无非就是由三部分组成,不同的消息系统只是这三部分的实现不同,或者会在这三部分之外扩充自己的特性。这三部分分别就是:生产者、消费者、消息队列 这篇文章主要介绍的是 kafka 的生产者。 定义 这里简单的对 kafka 的生产者做个介绍,kafka 主要应用于 iot 设备、网页 o 阅读全文
摘要:
kafka 简介 kafka 是一个为事件流而生的分布式消息系统,广泛应用于网页用户记录跟踪,IOT 设备,日志采集,系统监控等场景。 kafka 是用于构建实时数据管道和流应用程序。具有横向扩展,容错,wicked fast(变态快)等优点,并已在成千上万家公司运行。 例子 举个例子,大部分现代人 阅读全文
摘要:
概述 zk 是一个开源的,分布式协调服务,它的目的就是为了服务于分布式应用。zk 允许分布式应用通过 zk 的节点进行相互协调,常见的有配置同步、分布式锁、微服务注册与发现等等。 zk 本身和它所要协调的分布式应用一样,也是也是在集群中相互复制,以保证 zk 的高可用性。每台服务器都需要相互了解,数 阅读全文
摘要:
注意事项 如果运行代码的时候找不到文件,但是文件的的确确又存在,检查下 idea 的工作路径 路径 Path Path 对象是将一个路径封装成一个对象,然后通过这个对象来执行路径的一些操作,所有的方法如下。具体的方法功能通过名称也能猜得八九不离十,不了解的查 API 文档。所有下面的方法都可以通过 阅读全文
摘要:
使用Future获得异步执行结果时,要么调用阻塞方法get(),要么轮询看isDone()是否为true,这两种方法都不是很好,因为主线程也会被迫等待。 从Java 8开始引入了CompletableFuture,它针对Future做了改进,可以传入回调对象,当异步任务完成或者发生异常时,自动调用回 阅读全文
摘要:
流式 IO 是传统 IO,通过构造输入输出流,讲信息从一个地方读取,输出到另一个地方。常见的有读取文件以及写入文件。 基本 API 流失 IO 基本可以分为两个门派,一个以 InputStream 和 OutputStream 为代表的老牌 IO,一个以 Reader 和 Writer 为代表的新派 阅读全文
摘要:
注解是什么 简单的说,注解就是一种将元数据信息从 xml 剥离开来,然后保存在 java 源代码中,这将使得代码更加清晰易懂,无需维护两个地方: java 源代码以及 xml 配置文件。 典型的场景就是 spring 框架,我们都知道,spring 框架将一个 bean 保存在容器里有两种方式,一种 阅读全文