首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
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都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十分重要的。下面我们一一来列举一下,不一定全部适合,这些解决方案仅供你参考,或许对你有…