Kafka系列1:Kafka概况 Kafka是当前分布式系统中最流行的消息中间件之一,凭借着其高吞吐量的设计,在日志收集系统和消息系统的应用场景中深得开发者喜爱。本篇就聊聊Kafka相关的一些知识点。主要包括以下内容: Kafka简介 Kafka特点 Kafka基本概念 Kafka架构 Kafka的 ...
分类:
其他好文 时间:
2020-02-04 23:18:57
阅读次数:
78
"Link" 可以发现不走其实就是走自环,所以我们给每张图的每个点添加一个自环。 对于第$i$张图,设其邻接矩阵为$\mathbf A_i$,那么在第$i$张图上走$k$步回到原点的方案数就是$\operatorname{tr}(\mathbf A_i^k)$。 设$g_{l,r,k}=\prod\ ...
分类:
其他好文 时间:
2020-02-03 12:02:50
阅读次数:
95
1、实现线程有哪几种方式 继承Thread类 实现Runnable接口,重写run()方法 实现Callable接口,重写call()方法 ,返回Future对象结果 线程池:ExecutorService 中submit(runnable/callable)返回一个Future,Future可用来 ...
分类:
编程语言 时间:
2020-01-31 19:13:41
阅读次数:
95
原文:https://www.jianshu.com/p/b8952f07ee5d 1.概述 在本文中,我们将了解Future。自Java 1.5以来一直存在的接口,在处理异步调用和并发处理时非常有用。 2.创建Future 简单地说,Future类表示异步计算的未来结果 - 这个结果最终将在处理完 ...
分类:
编程语言 时间:
2020-01-31 18:36:29
阅读次数:
90
1 import java.util.ArrayList; 2 import java.util.List; 3 import java.util.concurrent.*; 4 import java.util.concurrent.Callable; 5 import java.util.con ...
分类:
编程语言 时间:
2020-01-31 00:36:34
阅读次数:
124
JDK 8的CompletionService相对于之前版本的Future而言,其优势是能够尽可能快的得到执行完成的任务。例如有4个并发任务要执行,正常情况下通过Future.get()获取,通常只能按照提交的顺序获得结果,如果最后提交的最先完成的话,总执行时间会长很多。而通过CompletionS ...
分类:
其他好文 时间:
2020-01-29 14:23:41
阅读次数:
142
一.利用多线程 直接new线程 使用线程池 二.采用Spring 的异步方法去执行(无返回值) 在启动类或者配置类加上 @EnableAsync 注解. 先把longTimeMethod 封装到Spring的异步方法中,这个方法一定要写在Spring管理的类中,注意注解@Async @Async注解 ...
分类:
编程语言 时间:
2020-01-28 21:39:16
阅读次数:
102
先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。 但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点, ...
分类:
其他好文 时间:
2020-01-28 21:31:43
阅读次数:
69
创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callab ...
分类:
编程语言 时间:
2020-01-28 21:20:15
阅读次数:
76
不管是DefaultMQProducer还是DefaultMQPushConsumer,本质都是封装类,发起请求的实际上是RemotingClient, 它的start方法调用之后,启动了一个netty的客户端bootstrap,每次需要与nameService或者broker进行连接的时候,调用 ...
分类:
其他好文 时间:
2020-01-28 19:20:32
阅读次数:
134