标签:线程安全

JAVA

阿里的一道线程面试题,面哭了无数人

herman 6个月前 (03-14) 393浏览

很多人都想进 BAT,但是并不是每个人都能如愿。BAT 的面试非常的严格,今年春招,阿里的一道线程面试题,就淘汰了无数的人! 今天我对这道题,分别用了 3 种不同的方法实现了,供大家参考! 题目如下: 通过N个线程顺序循环打...

JAVA

Java 中的 @Immutable、@ThreadSafe、@NotThreadSafe、@GuardedBy 注解

herman 7个月前 (02-25) 1958浏览

最近,我们的电商项目中需要一个限流功能,我打算使用令牌桶实现。 然后,我就网上查了一些关于令牌桶算法的文章,用 Java 实现了一个。但是其中有一点问题,所以,我就想参考一下 guava 中 RateLimiter 的实现。但是发现 com...

JAVA

MongoDB 中没有连接池?别再错下去了!

herman 7个月前 (02-20) 669浏览

Java 在使用 MongoDB 的时候,看起来和使用 MySQL 有些不一样。 在用 MySQL 的时候,通常我们会创建一个连接池。每次增删改查都会从池子里获取一个已经存在的连接,这样做会减少新建连接而造成的资源浪费。 在 Mong...

JAVA

一文看懂竞态条件、竞态资源、临界区、互斥锁、同步锁、临界区、互斥量、信号量、自旋锁等专有名词!

herman 7个月前 (02-14) 536浏览

关于线程安全的专有名词有一大堆。你们突然之间问我这个名词是什么意思,那个名词是什么意思我还真不一定能给你准确的回答。这还别说一门语言一堆名词。其实有些名词叫法不同,实际上就是一个意思。 A 语言有这个名词,B 语言就起另外一个名词。不能大胆...

JAVA

Java 中的自旋锁和适应性自旋锁!

herman 10个月前 (11-21) 781浏览

阅读过上篇文章的网友,可能会发现上一篇文章中已经出现了一个自旋锁! 什么?怎么可能?你在上一篇文章中连一个自旋锁的字都没提,怎么可能有自旋锁(欺骗我农村来的是吧,一定是)? 我怎么可能会骗你呢?就算骗了你,也骗不了其他人,那么多读者,...

JAVA

从“图”学习乐观锁与悲观锁(CAS以及ABA问题)

herman 10个月前 (11-20) 842浏览

前面写了好几篇关于 HashMap 的文章,有人在微信群里给我反馈说想看点别的。其实我也想换了,HashMap 写来写去就那么点内容,还能写出 bug 出来(大笑)!所以,索性我今天就换个新内容!乐观锁 VS 悲观锁! 其实吧,写锁也写不出...

JAVA

从 HashMap 的扩容机制来说它为什么不是线程安全的!

herman 10个月前 (11-20) 339浏览

我在前面的文章《Java 线程安全的3大核心:原子性、可见性、有序性》中已经说到了什么是线程安全!根据这篇文章,我们对照着 HashMap 来说说它为什么不是线程安全的? 前面我也强调过多次,回答是不是线程安全的请从:原子性、可见性、有序性...

JAVA

学会 Java 中的锁,你只需要记住 6 句法则即可!

herman 10个月前 (11-17) 581浏览

Java 中日常用到的锁大概有 14 种:悲观锁、乐观锁、自旋锁、适应性自旋锁、无锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、非可重入锁、独享锁、共享锁。 每种锁都有不同的使用场景!具体哪种场景使用哪种锁,你只需要回答下面 ...

JAVA

Vector 真的线程安全的吗?

herman 10个月前 (11-08) 424浏览

你还在面试中回答 Vector 是线程安全的吗?我相信很多人在面试中都是这样回答的,它是线程安全的。关于 Vector 我们今天来重新认识它! 如果你说 Vector 是线程安全的,一定是基于它的方法 synchronized 关...

JAVA

Java 线程安全的3大核心:原子性、可见性、有序性

herman 11个月前 (11-06) 537浏览

有人将原子性、可见性、有序性归结为 java 多线程的3大核心。我认为欠佳,应该把它归为线程安全的知识点。本文我就给大家详细的说下,线程安全的3个核心知识点:原子性、可见性、有序性。 在开始之前我们先来看看什么是线程安全? 线程安全 ...

JAVA

什么是线程安全?

herman 11个月前 (11-04) 314浏览

先说一下,我为什么要写这篇文章!因为有位网友给我发了一篇关于AtomicInteger的文章:https://blog.csdn.net/fanrenxiang/article/details/80623884,说看不懂。我看了这篇文章,我说看不...

JAVA

synchronized 是可重入锁吗?为什么?

herman 11个月前 (10-12) 2330浏览

最近有人私信我,说面试中问到了 synchronized,被批的一塌糊涂,挂了!Why?他说其中一个问题,问他 synchronized 是可重入锁吗?他说不是!为什么不是,他说 java 中有 ReentrantLock,R...