首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发编程
订阅
KLAN
更多收藏集
微信扫码分享
微信
新浪微博
QQ
32篇文章 · 0订阅
一次生产 CPU 100% 排查优化实践
到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环境互相没有影响。 拿到问题后首先去服务器上看了看,发现运行的只有我们的 Java 应…
并发中的volatile
由于线程有本地内存的存在, 一个线程修改的共享变量不会及时的刷新到主内存中, 使得另一个线程读取共享变量时读取到的仍旧是旧值, 就导致了内存可见性问题. 现在volatile就可以解决这个问题, 为什么能解决内存可见性问题呢? 本文就来揭开volatile的神秘面纱. 理解vo…
Lock锁源码分析
java SE 5之前,是使用 synchronized 来进行控制多线程访问共享资源的,使用 synchronized 修改方法或代码块之后,会隐式的获取到锁,之后方法退出时在隐式的释放锁,而java SE 5之后,并发包中新增了Lock接口用来实现锁功能,具体参考原文
java.util.concurrent 并发包使用指南
本文不会去解释关于 Java 并发的核心问题 - 其背后的原理,也就是说,如果你对那些东西感兴趣,请参考《Java 并发指南》。 当你发现一些被漏掉的类或接口时,请耐心等待。在作者空闲的时候会把它们加进来的。 java.util.concurrent 包里的 BlockingQ…
JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?
早在JDK1.5的时候,就规定了当所有非守护线程退出时,JVM才会退出,Main方法主线程和Worker线程都是非守护线程,所以不会死。 看上面的注释下面的内容,为什么是非守护线程就真相大白了。
CyclicBarrier - 同步屏障实现分析
CyclicBarrier 和 CountDownLatch 功能类似,不同之处在于 CyclicBarrier 支持重复利用,而 CountDownLatch 计数只能使用一次。
Java并发编程实战笔记3:基础构建模块
在上文已经说明,委托是构造线程安全类的一个最有效策略,也就是让现有的线程安全类管理所有的状态即可。以下将介绍这些基础构建模块。 同步容器类包括Vector和Hashtable以及由Collections.synchronizedXxx等工厂方法创建的同步封装器类。这些类实现线程…
那些年让人迷惑的同步、异步、阻塞、非阻塞
在IT圈混饭吃,不管你用什么编程语言、从事前端还是后端,阻塞、非阻塞、异步、同步这些概念,都需要清晰地掌握,否则,怎么与面试官谈笑风生(chui niu pi)?但是,掌握这些概念又不是非常容易,尤其对非科班出身的,更加困难。本文试图给出一个清晰简明但不失深刻的介绍,希望对大家…
Java并发之线程池ThreadPoolExecutor源码分析学习
我写博客就真的比较没有顺序了,这可能跟我的学习方式有关,我自己也觉得这样挺不好的,但是没办法说服自己去改变,所以也只能这样想到什么学什么了。 池化技术真的是一门在我看来非常牛逼的技术,因为它做到了在有限资源内实现了资源利用的最大化,这让我想到了一门课程,那就是运筹学,当时在…
分布式唯一ID的几种生成方案
在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID、退款ID等。那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十分重要的。下面我们一一来列举一下,不一定全部适合,这些解决方案仅供你参考,或许对你有…