自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 Java面试题 3.我们知道 ArrayList 是线程不安全,请编写一个不安全的案例并给出解决方案?

我们知道 ArrayList 是线程不安全,请编写一个不安全的案例并给出解决方案? 首先这个问题我们要搞清一个问题? ArrayList 为什么是线程不安全? 根据问题给出解决方案 首先需要了解什么是线程安全:线程安全就是说多线程访问同一代码(对象、变量等),不会产生不确定的结果。 ArrayList线程不安全的原因是,ArrayList为了并发性和效率,在add的方法里没有加锁。 在多线程的情况下会报 java.util.ConcurrentModificationException并发修改异常。 解决方

2021-01-25 00:38:10 104 3

原创 Java面试题 2.CAS 你知道吗?CAS 底层原理?谈谈对 UnSafe 的理解?

CAS 你知道吗?CAS 底层原理?谈谈对 UnSafe 的理解? AtomicInteger CAS–> Unsafe -->CAS底层思想 —》ABA --》原子引用更新 --》 如何规避ABA问题 CAS翻译过来就是,compare and set,比较并交换,上节课里面说用atomicInteger可以解决volatile的不保证原子性的问题,那么为什么它可以解决这个问题呢? 首先atomicUnteger是调用了compare and set的方法,compare and set方法相

2021-01-20 21:34:16 339

原创 Java面试题 1.请谈谈你对 volatile 的理解

Java面试题 并发编程 1.请谈谈你对 volatile 的理解 volatile 是 Java 虚拟机提供的轻量级的同步机制 保证可见性 禁止指令排序 不保证原子性 JMM(Java 内存模型) [ 1 ] JMM本身是一种抽象的概念并不是真实存在的,它描述的是一组规定或者规范,通过这种规范定义了程序的访问方式。 [ 2 ] JMM同步规定 [a ]线程解锁前,必须把共享变量的值刷回主内存 [b]线程解锁前,必须读取主内存的最新值到自己的工作内存 [c]加锁和解锁是同一把锁 [ 3 ]由于JVM运行

2021-01-18 19:29:11 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除