• java并发问题总结


    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状态

  • 相关阅读:
    ubuntu下如何更改mysql数据存放路径
    collection_select
    发现星期六日的电视比较好看
    rails
    系统抢救10.04
    劫后重生,痛定思痛,ubuntu 10.04=>10.10
    随机查询N条记录
    which linux your like
    kindeditor的使用
    array
  • 原文地址:https://www.cnblogs.com/CLAYJJ/p/11373460.html
Copyright © 2020-2023  润新知