首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发编程
订阅
AIBooter
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
让人恶心的多线程代码,性能怎么优化!
Java 中最烦人的,就是多线程,一不小心,代码写的比单线程还慢,这就让人非常尴尬。 通常情况下,我们会使用 ThreadLocal 实现线程封闭,比如避免 SimpleDateFormat 在并发环
深入理解Java系列 | BlockingQueue用法详解
BlockingQueue就是阻塞队列,是基于阻塞机制实现的线程安全的队列。而阻塞机制的实现是通过在入队和出队时加锁的方式避免并发操作。
BlockingQueue
【写在前面】 所谓读源码,三分看代码,七分看注释。英语不好怎么办,我帮你翻译! 一个额外支持一些操作的队列,这些操作就是:等待这个队列变为非空,当要(从一个空队列)取回一个元素的时候;等待这个队列有空间可用,当要存储一个元素(到满队列)的时候。BlockingQueue的方法有…
聊聊Java中的生产者消费者模型——BlockingQueue
生产者/消费者模型相信各位都不陌生,是一种很常见的分布式资源调度模型。在这个模型中,至少有两个对象:生产者和消费者。生产者只负责创建资源,消费者只负责使用资源。如果自己实现一个简单的生产者/消费者模型也很容易,无非就是通过一个队列来做,但是这种方式有很多隐藏的缺陷: Node节…
当我准备用SpringEvent优雅的解耦时,连续两个bug把我搞懵了
本文主要讲解了SpringEvent基本的使用方法,和平常开发中可能会遇到的一些问题。总的来说,Spring为了让大家用的更轻松,考虑了各种可能发生的情况,但是如果大家不了解背后的实现原理,就可能发生
CountDownLatch翻车后,大家都建议我用CompletableFuture改造下,改造完感觉真香啊!
前言 大家好,我是小郭,前段时间使用了CountDownLatch来做并发流程的控制,在生产上碰到了一些问题,最终问题是解决了,但是那篇文章的评论大家让我用CompletableFuture来试一试
延迟执行与不可变,系统讲解JavaStream数据处理
最近在公司写业务的时候,忽然想不起来Stream中的累加应该怎么写? 无奈只能面向谷歌编程,花费了我宝贵的三分钟之后,学会了,很简单。 自从我用上JDK8以后,Stream就是我最常用的特性
Java8的集合操作神器Stream API !安排!
本文继续介绍 Java 8 的另一个新特性——Stream API。Stream API 是对 Java 中集合操作的增强,可以利用它进行各种过滤、排序、分组、聚合等操作。Stream API 配合 Lambda 表达式可以加大的提高代码可读性和编码效率,Stream API …
Java 8中用法优雅的Stream,性能也"优雅"吗?
之前的文章中我们介绍了Java 8中Stream相关的API,我们提到Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 那么,Stream API的性能到底如何呢,代码整洁的背后是否意味着性能的损耗呢?本文我们对Stream API…
使用Java 8 Stream像操作SQL一样处理数据(下)
在上一篇文章中,我们介绍了Stream可以像操作数据库一样来操作集合,但是我们没有介绍flatMap和collect操作。这两种操作对实现复杂的查询是非常有用的。比如你可以结果flatMap和collect计算stream中的单词的字符数,像下面代码那样。 这篇文章将会介绍fl…