1.java中产生并发问题的主要原因有哪三个?

原子性、可见性和有序性

2.什么是java内存模型?

java虚拟机规范中用来屏蔽掉各种硬件和操作系统内存访问差异,java内存模型的主要目标是定义程序中各个变量的访问规则。

3.java中除了volatile关键字可以实现内存可见性外还有哪些关键字可以?

synchronized和final

4.happens-before规则有哪些?

①程序次序规则

②管程锁定规则:一个unclock操作happens-before后一个对同一对象的lock操作

③volatile规则

④线程启动规则

⑤线程终止规则

⑥线程中断规则

⑦对象终结规则

⑧传递性规则:A happens-before B, B happens-before C => A happens-before C(此规则特别有用!)

5.java中线程有哪些状态?其中waiting和blocked有什么区别?什么情况下线程会进入进入waiting状态?什么情况下线程会进入blocked状态?

runnable,wating,timed_waiting,blocked,terminated

wait(),parking(),join()方法调用时,线程进入waiting状态

等待获取排他锁时线程进入blocked状态

最新文章

  1. 学习web前端学习路程
  2. android-Okhttp初步使用
  3. Spark随笔(二):深入学习
  4. Ubuntu系统中Sogou输入法面板问题解决方案
  5. Xcode8 Could not build Objective-C module 'FBSDKCoreKit'
  6. 利用CSS3选择器定制checkbox和radio
  7. 理解Windows内核模式与用户模式
  8. 将bbr功能合入到centos7.3
  9. [Bayes] Why we prefer Gaussian Distribution
  10. React Native 项目实战-Tamic
  11. 并发编程(五)——AbstractQueuedSynchronizer 之 ReentrantLock源码分析
  12. Hibernate多对多单向关联和双向关联 --Hibernate框架
  13. ubuntu chmod命令的使用
  14. 4种更快更简单实现Python数据可视化的方法
  15. SpringBoot(十二)_springboot整合PageHelper
  16. 相同数据源情况下,使用Kafka实时消费数据 vs 离线环境下全部落表后处理数据,结果存在差异
  17. java内存泄露补充样例
  18. union遇上ntext数据类型
  19. sql92和sql99
  20. java 散列运算浅分析 hash()

热门文章

  1. Azure DevOps (五) 推送流水线制品到流水线仓库
  2. 集合 copy
  3. 数据库原理 之MySQL
  4. 几种常用的MOS管参数、应用电路及区别:IRF540N、IRF9540N、IRF9540
  5. Linux源码安装RabbitMQ高可用集群
  6. [源码解析] TensorFlow 分布式环境(5) --- Session
  7. JavaScript this的理解
  8. SpringBoot+Vue+mysql 搭建(一)
  9. nginx反向代理失败,又是 fastdfs 的锅
  10. JSP和Servlet有哪些相同点和不同点?