本月博客排行
-
第1名
kaizi1992 -
第2名
wy_19921005 -
第3名
arpenker - jh108020
- silverend
年度博客排行
-
第1名
龙儿筝 -
第2名
宏天软件 -
第3名
青否云后端云 - wy_19921005
- benladeng5225
- vipbooks
- kaizi1992
- e_e
- arpenker
- tanling8334
- javashop
- sam123456gz
- zysnba
- fantaxy025025
- xiangjie88
- lemonhandsome
- wallimn
- ganxueyun
- Xeden
- zhanjia
- xyuma
- wangchen.ily
- jh108020
- johnsmith9th
- zxq_2017
- jbosscn
- forestqqqq
- daizj
- ajinn
- xpenxpen
- 喧嚣求静
- silverend
- kingwell.leng
- kristy_yy
- lchb139128
- jveqi
- lzyfn123
- java-007
- sunj
- yeluowuhen
- lerf
- xiaoxinye
- flashsing123
- chenqisdfx
- bosschen
- zhangjijun
- lyndon.lin
- sunnylocus
- lyj86
- paulwong
最新文章列表
关于volatile的理解
关于volatile,公认它的作用是保证可见性,无法保证原子性,对于多个线程的访问还是需要加锁,这是确定的,比如代码示例如下:
public class VolatileTest {
private volatile int age;
public int getAge() {
return age;
}
public void setAge(int ...
探讨Java内部类的可见性
转载自http://zhangjunhd.blog.51cto.com/113473/65624/
在Java中,当生成一个内部类的对象时,此对象与制造它的外部类通过外部类的.this保持着联系,因此该内部类对象可以访问其外部类对象的所有成员,包括private成员。
而该内部类对象对于其他类的对象的访问,遵照常规的访问权限语法,这一点也没有什么特别支持。这里需要探讨的是,外部类以及其他类的对象 ...
volatile简单理解
习惯了先举个例子,这个是我学习时遇到的问题。
volatile x = 0;
A,B俩个线程。
都做加一操作x=x+1。
输出结果A线程X=1, B线程X=1.(一种情况)
我自己期望出现的结果:1,2。我的理解是,当A线程改变了x的值,B会及时知道,然后做加一操作,那么等到结果一定是2。可是忘了加操作和赋值是2个操作,x=x+1并非原子性。
分析:
...