首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
。。
订阅
hi你说什么呀
更多收藏集
微信扫码分享
微信
新浪微博
QQ
20篇文章 · 0订阅
ThreadLocal和ThreadLocalMap源码分析
相信很多程序猿在平常实现功能的过程当中,都会遇到想要某些静态变量,不管是单线程亦或者是多线程在使用,都不会产生相互之间的影响,也就是这个静态变量在线程之间是读写隔离的。 有一个我们经常使用的工具类,它的并发问题就是用ThreadLocal来解决的,我相信大多数人都看过,…
既然synchronized是"万能"的,为什么还需要volatile呢?
1、Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。(再有人问你Java内存模型是什么,就把这篇文章发给他) 2、synchronized通过…
Java并发编程—synchronized保证线程安全的原理分析
程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其…
『MySQL』搞懂 InnoDB 锁机制 以及 高并发下如何解决超卖问题
1. 锁知识 确保每个用户能以一致的方式读取和修改数据。 latch 一般叫做闩锁,轻量级。 在InnoDB存储引擎中,latch分为 mutex (互斥锁)和 rwlock(读写锁),目的是用来保证并发线程操作临界资源的正确性,并且通常也没有死锁检测机制。很少用到。 lock…
Redis 布隆过滤器实战「缓存击穿、雪崩效应」
我们的业务中经常会遇到穿库的问题,通常可以通过缓存解决。 如果数据维度比较多,结果数据集合比较大时,缓存的效果就不明显了。 因此为了解决穿库的问题,我们引入Bloom Filter。 先查询缓存,缓存不命中再查询数据库。 然后将查询结果放在缓存中即使数据不存在,也需要创建一个缓…
深入理解ReentrantLock的实现原理
ReentrantLock是Java在JDK1.5引入的显式锁,在实现原理和功能上都和内置锁(synchronized)上都有区别,在文章最后我们再比较这两个锁。 首先我们要知道ReentrantLock是基于AQS实现的,所以我们得对AQS有所了解才能更好的去学习掌握Reen…
MySQL会发生死锁吗?
MySQL的InnoDB引擎事务有4种隔离级别,主要是为了保证数据的一致性。 InnoDB引擎提供了行级锁,表锁。MyISAM提供了表锁,如题,MySQL会发生死锁吗? 会,在InnoDB引擎下,RR(REPEATABLE-READ)级别,如果多个事务争抢同一个资源,会发生死锁…
别再用懒汉模式了——从JVM的角度看单例模式
从结果上看没啥毛病,那我们来加个断点试试。按照以往的认知,饿汉单例是在类加载的时候的实例化,那么运行main方法应该会输出饿汉单例的初始化,我们来看看结果: 如图是没有结果的,饿汉单例怎么没有实例化呢?原来饿汉单例是在本类加载的时候才实例化的,在断点的时候还没有加载饿汉单例。 …
[肥朝]面试官问我,使用Dubbo有没有遇到一些坑?我笑了。
17年的时候,因为一时冲动没把持住(当然最近也有粉丝叫我再冲动一把再更新一波),结合面试题写了一个系列的Dubbo源码解析.目前公众号大部分粉丝都是之前的粉丝,这里不过多介绍. 按照聊天记录的描述,此时consumer调用provider,provider抛出HelloExce…
线程池运行模型源码全解析
在上一篇文章《从0到1玩转线程池》中,我们了解了线程池的使用方法,以及向线程池中提交任务的完整流程和ThreadPoolExecutor.execute方法的源代码。在这篇文章中,我们将会从头阅读线程池ThreadPoolExecutor类的源代码,深入剖析线程池从提交任务到执…