zoukankan      html  css  js  c++  java
  • java垃圾回收

      jvm 虚拟机栈,每一个线程运行时都有一个线程栈,每个线程栈保存了线程运行时候变量值信息。

      当线程访问某一个对象的值的时候,首先通过对象的引用栈找到对应的堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值,在修改完后的某个时刻(线程退出之前),自动将线程变量副本的值写到对象在堆中变量。这样堆中的对象的值就产生变化了。

    下面一幅图描述这写交互

    java volatile1

    Java 关键字 volatile

    用volatile关键字修饰的变量,线程在每次使用的时候,都会都变量修改后的最新值。

    参考链接:http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html

    http://www.ibm.com/developerworks/cn/java/j-jtp06197.html

  • 相关阅读:
    设计模式
    刷新所有视图存储过程
    js杨辉三角控制台输出
    2018申请淘宝客AppKey
    w3c标准 dom对象 事件冒泡和事件捕获
    promise原理
    vue virtual Dom
    css学习
    seo优化
    新概念学习
  • 原文地址:https://www.cnblogs.com/panie2015/p/5603128.html
Copyright © 2011-2022 走看看