摘要: A更新了本地副本x的值,不会主动刷新到主存中吗,必须等到和B通信时? --A线程迟早会把更新过的X值刷新到主内存中,但具体会在什么时候刷新到主内存是不确定的。如果我们使用同步原语(synchronized,volatile和final),那么刷新的时机是确定的。比如,如果A线程释放了锁,它就会刷新本 阅读全文
posted @ 2017-02-09 14:31 斌灬小生不才 阅读(133) 评论(0) 推荐(0) 编辑
摘要: java并发采用的是共享内存模型,java线程之间的通信是隐式进行的,对程序员透明。 在java中,所有静态域、实例域和数组元素存放在堆内存中,而堆内存在线程之间共享。 局部变量、方法定义参数、异常处理器参数不会再线程之间共享,他们不会存在内存可见性的问题,也不受内存模型的影响。 JAVA线程之间的 阅读全文
posted @ 2017-02-09 14:17 斌灬小生不才 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 堆(heap)存放内容包括:包装类数据,如Integer, String, Double等将相应的基本数据类型包装起来的类。 只要是用new()来新建对象的,都会在堆中创建,而且其字符串是单独存值的,即使与栈中的数据相同,也不会与栈中的数据共享。 栈(stack)存放内容包括:int, short, long, byte, float, double, boolean, char ... 阅读全文
posted @ 2017-02-09 10:39 斌灬小生不才 阅读(390) 评论(0) 推荐(0) 编辑