随笔分类 - Java工具源码
摘要:
我们平时开发中好像很少使用到BlockingQueue(阻塞队列),比如我们想要存储一组数据的时候会使用ArrayList,想要存储**键值对**数据会使用HashMap,在什么场景下需要用到BlockingQueue呢?
1. BlockingQueue的应用场景
当我们处理完一批数据之后,需要把这批数据发给下游方法接着处理,但是下游方法的处理速率不受控制,可能时快时慢。如果下游方法的处理速率较慢,会拖慢当前方法的处理速率,这时候该怎么办呢?
阅读全文
我们平时开发中好像很少使用到BlockingQueue(阻塞队列),比如我们想要存储一组数据的时候会使用ArrayList,想要存储**键值对**数据会使用HashMap,在什么场景下需要用到BlockingQueue呢?
1. BlockingQueue的应用场景
当我们处理完一批数据之后,需要把这批数据发给下游方法接着处理,但是下游方法的处理速率不受控制,可能时快时慢。如果下游方法的处理速率较慢,会拖慢当前方法的处理速率,这时候该怎么办呢?
阅读全文
摘要:
程序员都知道写代码是一件低调又枯燥的事情,一天到晚盯着电脑屏幕看。怎么能让写代码变成一件酷炫的事情,那就从装扮编辑器开始。 安装了这些插件,保证同事看到后,都会问你。 兄弟,你安装了什么插件,让我也装一下。 1. 先换个漂亮主题 Vuesion Theme Idea编辑器的界面灰蒙蒙的,有点性冷淡的
阅读全文
程序员都知道写代码是一件低调又枯燥的事情,一天到晚盯着电脑屏幕看。怎么能让写代码变成一件酷炫的事情,那就从装扮编辑器开始。 安装了这些插件,保证同事看到后,都会问你。 兄弟,你安装了什么插件,让我也装一下。 1. 先换个漂亮主题 Vuesion Theme Idea编辑器的界面灰蒙蒙的,有点性冷淡的
阅读全文
摘要:
日常开发中,我们都会用到线程池,一般会用execute()和submit()方法提交任务。但是当你用过CompletableFuture之后,就会发现以前的线程池处理任务有多难用,功能有多简陋,CompletableFuture又是多么简洁优雅。 要知道CompletableFuture已经随着Ja
阅读全文
日常开发中,我们都会用到线程池,一般会用execute()和submit()方法提交任务。但是当你用过CompletableFuture之后,就会发现以前的线程池处理任务有多难用,功能有多简陋,CompletableFuture又是多么简洁优雅。 要知道CompletableFuture已经随着Ja
阅读全文
摘要:
我们经常需要统计一个方法的耗时,一般我们会这样做: public class Test { public static void main(String[] args) throws InterruptedException { long start = System.currentTimeMill
阅读全文
我们经常需要统计一个方法的耗时,一般我们会这样做: public class Test { public static void main(String[] args) throws InterruptedException { long start = System.currentTimeMill
阅读全文

浙公网安备 33010602011771号