首页 > 其他分享 >面试知识点整理

面试知识点整理

时间:2022-10-09 15:01:27浏览次数:60  
标签:知识点 ABA cas 问题 面试 线程 内存 整理 保证


1.volatile关键字

 volatile是jvm的轻量级的同步锁

  • 保证可见性
  • 不保证原子性
  • 禁止指令重排

面试知识点整理_数据

2. JMM(内存模型)

  • 可见
  • 原子
  • 有序

面试知识点整理_多线程_02

可见性的体现。

3.CAS

 compare and set  比较并交换,这个在JUC里边被大量的使用。

 cas能够保证i++在多线程中不出问题,用的就是unsafe类,unsafe类调用底层,根据内存偏移量来获取值。

 cas是cpu的一条原语指令,不会造成所谓的数据不一致的问题。

 cas4de源码是一个do while ,先去主内存里边拿到值,如果和期望值(之前拿到的)不一样,就不停地去主内存拿值,并且替换掉自己原来的期望值。

cas缺点:它能够保证安全,是因为自己的在不同的占用cpu,如果有很多个线程,就可能有一直在执行这个操作。

                它只能保证一个共享变量的原子性。

                 ABA的问题。

4.ABA问题

  CAS引发的ABA问题是这样产生的,线程A和B都去主内存拷贝一个数据,A线程要执行更长的时间,B要执行很短的时间,恰好的是,B线程先把数据改了一次,最终又改回来了,但是A过来比较的时候以为没有改变过,这就是ABA问题。

  ABA的问题解决就是加上版本号(类似于时间戳)。

5.集合类在多线程下的不安全问题

  报错:java.util.concurrentModificationException

  解决方案可以是:Collections.synchronizedList(new ArrayList<>());

                 可以是:ArrayList<T> lsit = new CopyOnwriteArrayList<>();

标签:知识点,ABA,cas,问题,面试,线程,内存,整理,保证
From: https://blog.51cto.com/u_15812686/5740481

相关文章

  • 一起来看网易面试官亲自指导简历
     教育的本质是培养自信心,和对世界的认知。 如果在一场竞争中输给别人,那一定是我们的细节做的不够好,或者能力没有达到要求。一次一次的失败,会让我们产生挫败感,即使你是一......
  • 如果你也面试03-全缓冲 行缓冲 无缓冲
    首先介绍一下UNIX里面关于标准IO的几种缓冲机制:1、全缓冲。全缓冲指的是系统在填满标准IO缓冲区之后才进行实际的IO操作;注意,对于驻留在磁盘上的文件来说通常是由标准IO库......
  • 面试官:Hash 碰撞是什么?如何解决?被问懵了……
    Hash如何存数据hash表的本质其实就是数组,hash表中通常存放的是键值对Entry。如下图:这里的学号是个key,哈希表就是根据key值来通过哈希函数计算得到一个值,这个值就是下......
  • ​大数据面试题——Flink面试进阶篇
    1FlinkJob的提交流程用户提交的FlinkJob会被转化成一个DAG任务运行,分别是:StreamGraph、JobGraph、ExecutionGraph,Flink中JobManager与TaskManager,JobManager与Client的交......
  • 最近整理的关于 FastAdmin 开源的文章
    最近整理的关于FastAdmin开源的文章《FastAdmin开源后的惊喜》《在FastAdmin社区如何快速获得答案?》《FastAdmin有些插件为什么要收费?》《开源是什么?(FastAdmin......
  • 整理一下 几个 MySQL 1000W 级别的问题
    ## 首先要关注占用的多大的内存​​ MYSQL-算一算1000万条数据大概占了多大磁盘空间​​ ## mysql批量插入数据,一次插入多少行数据效率最高?​​https://www.imooc.c......
  • Java面试题
    Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,Java开发工具包,提供了Java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,Java运行环境......
  • 计算机网络高频面试题02、03
    02、TCP与UDP的联系与区别TCP与UDP的联系TCP/IP协议集包括应用层,传输层,网络层,网络访问层。在TCP/IP协议里,有两个具有代表性的传输层协议,分别就是TCP和UDP。TCP与......
  • 「高中数学」易错点以及不自然处整理
    总结是好事。一直没有学过奥数*,这让我在oi的自学旅途上曾经有过怀疑。可能有帮助的近似\(\ln2=0.69\)\(\ln3=1.09\)数值\(1\)(弧度制)约等于60°。易错点......
  • 做题记录整理图论2 P1600 [NOIP2016 提高组] 天天爱跑步(2022/10/4)
    P1600[NOIP2016提高组]天天爱跑步题解由于这位大佬似乎afo(?)了,所以我没搞懂那个桶怎么处理,到时候要回来再看一遍#include<bits/stdc++.h>#definefor1(i,a,b)for(in......