首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java同步
订阅
徐大哈
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
【并发编程】一文带你读懂深入理解Java内存模型(面试必备)
并发编程这一块内容,是高级资深工程师必备知识点,25K起如果不懂并发编程,那基本到顶。但是并发编程内容庞杂,如何系统学习?本专题将会系统讲解并发编程的所有知识点,包括但不限于: 线程通信机制,深入JMM内存模型原理,深入synchronized原理,深入volatile原理,D…
Java多线程之volatile关键字和内存屏障
前面一篇文章在介绍Java内存模型的三大特性(原子性、可见性、有序性)时,在可见性和有序性中都提到了volatile关键字,那这篇文章就来介绍volatile关键字的内存语义以及实现其特性的内存屏障。 volatile是JVM提供的一种最轻量级的同步机制,因为Java内存模型为…
【嗅探底层】你知道Synchronized作用是同步加锁,可你知道它在JVM中是如何实现的吗?
我们可以利用synchronized关键字来对程序进行加锁。它既可以用来声明一个synchronized代码块,也可以直接标记静态方法或者实例方法。 当谈到synchronized时,我们有必要了解字节码中的monitorenter和monitorexit指令。 这两种指令均会…
线程池没你想的那么简单
原以为线程池还挺简单的(平时常用,也分析过原理),这次是想自己动手写一个线程池来更加深入的了解它;但在动手写的过程中落地到细节时发现并没想的那么容易。结合源码对比后确实不得不佩服 Doug Lea 。 我觉得大部分人直接去看 java.util.concurrent.Threa…
教妹学 Java:难以驾驭的多线程
“二哥,上一篇《集合》的反响效果怎么样啊?”三妹对她提议的《教妹学 Java》专栏很关心。 “这篇文章的浏览量要比第一篇《泛型》好得多。” “这是个好消息啊,说明更多人接受了二哥的创作。”三妹心花怒放了起来。 “也许没什么对比性。” “没有对比性?我翻看了一下二哥 7 个月前写…
死磕 java同步系列之ReentrantLock VS synchronized——结果可能跟你想的不一样
synchronized是Java原生提供的用于在多线程环境中保证同步的关键字,底层是通过修改对象头中的MarkWord来实现的。 ReentrantLock是Java语言层面提供的用于在多线程环境中保证同步的类,底层是通过原子更新状态变量state来实现的。 我猜测应该是Re…
多线程,到底该设置多少个线程?
“不好了,线上服务器超时严重,请求非常慢,好像报连接数too many了,怎么办?“小伙伴们在反馈。一般我们的技术老大的处理方式,把连接数和线程池调大点,重启,再观察。 往往这个方式是应急措施,治标不治本,因为不知道问题的原因。 有个严重误区,以为线程池设置太小了,调大点请求就…
Java 之 synchronized 详解
一、概念 synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的。 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块 (复合操作) 进行访问。互斥性我们…
血洗多线程,抱得 offer 归
工作和面试之中,遇到了很多多线程问题。这里我总结了一下,希望对你有所帮助。本篇内容,基本上都是一些反例,有些很低级但常见。 当然,面试时拿来装逼用,也是极好的。 先来10个。 现象: 系统资源耗尽,进程僵死。 原因: 每次方法执行,都new一个线程池。 现象: 某个线程一直持有…
让人抓头的Java并发(二) 线程池ThreadPoolExecutor分析
corePoolSize:表示常驻的核心线程数量。如果为0执行任务之后没有任何请求进入时将被销毁,如果大于0则不会被销毁。 maximumPoolSize:表示线程池最大能够容纳同时执行的线程数,必须大于等于1。如果和corePoolSize相等即是固定大小线程池,如果待执行线…