首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发
订阅
QQQQ105677
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
面试必备:Java线程池解析
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 面试问题2:按线程池内部机制,当提交新任务…
synchronized实现原理
0. 前言 造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多个线程共同操作共享数据。因此为了解决线程安全问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后…
浅谈偏向锁、轻量级锁、重量级锁
为了换取性能,JVM在内置锁上做了非常多的优化,膨胀式的锁分配策略就是其一。理解偏向锁、轻量级锁、重量级锁的要解决的基本问题,几种锁的分配和膨胀过程,有助于编写并优化基于锁的并发程序。 内置锁是JVM提供的最便捷的线程同步工具,在代码块或方法声明上添加synchronized关…
Java并发——ConcurrentHashMap(JDK 1.8)
一说到HashMap与Hashtable区别就会想到前者线程不安全,后者线程安全。但是当我们需要线程安全的时候,Hashtable并不是一个良好的选择,concurrentHashMap才是。 我们可以看到Hashtable用synchronized关键字来保证线程安全,锁住当…
Java 多线程学习(5)画一张漂亮的图帮助理解 Java 线程的状态转换
最开始的打算是只写线程的状态及转换的(即下文中的 1、2 点),因为在看了 Thread 源码和别人写的关于线程状态转换的博客之后,心里挺明了的,觉得自己应该理解了。。。 不过在学 AQS 的时候发现用到了很多 LockSupport.park() 和 LockSupport.…
HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!
Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。 众所周知…
图解Semaphore信号量之AQS共享锁-非公平模式
之前我们已经讲解过关于AQS的独占锁,这一章节主要讲解AQS的共享锁,以Semaphore信号量来进行讲解,相信通过看了本章节内容的同学可以对AQS的共享模式有一个了解,Semaphore信号量提供了用于控制资源同时被访问的个数,也就是它会维护一个许可证,访问资源之前需要申请许…
Java中的volatile
注意同步的双重含义:锁提供高级同步协议,同时在线程执行同步方法或块时,内存系统(有时通过内存屏障指令)保证值的一致性。这说明,与顺序程序设计相比较,并发程序设计与分布式程序设计更加类似。同步的第二个特性可以视为一种机制:一个线程在运行已同步方法时,它将发送或接收其他线程在同步方…
深入解析 ConcurrentHashMap 实现内幕,吊打面试官?没问题
在开发中,我们经常使用 HashMap 容器来存储 K-V 键值对,但是在并发多线程的情况下,HashMap 容器又是不安全的,因为在 put 元素的时候,如果触发扩容操作,也就是 rehash ,就会将原数组的内容重新 hash 到新的扩容数组中,但是在扩容这个过程中,其他线…