1、以下哪个是原子操作
A、x = 10
B、y = x
C、x++
D、x = x + 1
前三个都至少需要先读取,再操作,非原子操作。而D的话,直接赋值。

“原子操作(atomic operation)是不需要synchronized”,这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。

2、volatile修饰的变量具有 可见性,有序性
摘自 https://blog.csdn.net/cytzrs/article/details/50945897

1,可见性。对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。
2,原子性。对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性。

当写入一个volatile变量时,jmm会把线程对应的本地内存中的共享变量刷新到主内存。
当读一个volatile变量时,jmm会把该线程对应的本地内存置为无效。线程接下来会从主内存中读取共享变量。

volatile写和volatile读的内存语义总结:
1,线程A写一个volatile变量,实质上是线程A想接下来将要读这个volatile变量的某个线程发出了(其对共享变量所做的修改的)消息。
2,线程B读一个volatile变量,实质上是把线程B接受了之前某个线程发出的(在写这个volatile变量之前对共享变量所做修改的)消息。
3,线程A写一个volatile变量,随后线程B读这个volatile变量,这个过程实质上是线程A通过主内存向线程B发送消息。

3、滑动窗口

37互娱,2019秋招提前批,Java相关推荐

  1. 三七互娱2019秋招Java后端开发工程师

    三七互娱2019秋招Java后端开发工程师 三.简答题 2.给定一个整数的数组,要求将数组中的所有为0的元素移动到数组的最后,其他的元素保持原来的顺序. 示例 数组{ 1, 5, 0, 0 ,2,19 ...

  2. 37互娱,2019秋招提前批,web后端工程师

    1.IPV6多少位 IPV4为32位.IPV6为128位 IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为"互联网协议&qu ...

  3. 37互娱,2019秋招提前批,Java服务端一面

    1.netty的了解 2.说一下java里的一些数据结构 3.hashmap默认容量,arraylist默认容量,hashmap怎么解决冲突 4.tcp,udp,滑动窗口 5.mysql存储过程 6. ...

  4. 37互娱,2019秋招提前批,Java服务端二面

    1.项目 2.学校有哪些课程,平时怎么学习 3.java多线程 4.java集合类,currentmap 5.java虚拟机 6.垃圾回收 7.io和nio 没有什么具体的问题,给个主题,然后自己说- ...

  5. 【2021】联易融秋招提前批Java后端面经(已OC)

    6.21 一面(2个面试官) 1.自我介绍? 2.设计模式中的六大原则,项目中使用到的设计模式? 3.Spring事务传播机制,隔离级别? 4.A方法有事务,B方法也有事务,A方法中调用B方法过程? ...

  6. 平安银行薪资职级表_秋招提前批!平安银行总行公告发布!薪资拿到手软~

    扫码立刻加入银行秋招备考群 后台福利 回复 春招考题 领取 60页历年考题+考情分析回复 易错题 领取 银行考试易错600题回复 20家 领取 20家银行考试试卷回复 入行包 领取 20云南银行13家 ...

  7. 远景(智能/能源/动力)2023秋招提前批!内推啦

    [内推方式]: 点击下面官方网站链接投递: https://app.mokahr.com/recommendation-apply/envisiongroup/43124?recommendCode= ...

  8. 网易游戏_互娱_游戏测试秋招提前批

    一面,面试时长接近一个小时 ,后面面试记录我只回忆了我面试时答得不是很好的部分. 1.实习项目 a.性能测试 https://www.cnblogs.com/puresoul/p/5456855.ht ...

  9. 三七互娱 2021秋招 游戏测试

    9.8日 一面 调试设备10分钟,牛客换手机,手机还老挂断,还动不动静音,听不见,和面试官沟通困难,我听不懂她她听不懂我,自我介绍都说了3遍-告诫大家线上面试一定要调好设备很影响 自我介绍 喜欢的游戏 ...

最新文章

  1. 黎曼曲面Riemann Surface
  2. Touch Event
  3. JavaScript内置函数及API
  4. Dao设计模式(Data Access Object)
  5. MySQL查询的进阶操作--连接查询
  6. 我是一名黑客我也是一名程序员
  7. java代码整合_java合并多个文件的实例代码
  8. 八、Pandas的基本使用
  9. 查询 oracle_ORACLE数据库查询语句
  10. 一个R包玩转单细胞免疫组库分析,还能与Seurat无缝对接
  11. 五年后的计算机视觉会是什么样?和CV先驱们一同畅想(上) | CVPR2019
  12. CVPR2020 Oral|场景去遮挡新方法:港中文首次提出自监督新框架,已开源
  13. MySQL设置数据格为空白或NULL
  14. Linux 命令(125)—— vmstat 命令
  15. mysql数据传出_从MySQL读取数据,以List方式传出
  16. 使用Nginx架设高性能流媒体服务器
  17. c语言程序分数化简,C ++中的简化分数
  18. win32多线程(三) 死锁
  19. 简单实现根据excel表生成sql 建表语句
  20. 。成功实现avd 模拟器 与pc 虚拟串口实现通信 通过多方文章综合

热门文章

  1. 微博话题正则表达式匹配 ##
  2. 如何用手机快速制作好看的二维码
  3. C/C++用海伦公式求三角形面积(同时运用条件语句不断优化程序)
  4. IgnoreActorWhenMoving
  5. JS实现文件下载(适应多种浏览器)
  6. mysql连接不上数据库
  7. 穷人家的孩子刘强东又投资了一家AI芯片公司
  8. android 震动的实现,android实现震动和声音
  9. 2的1000次方的各位之和是多少?
  10. Windows10如何开启Mysql