
本文共 9698 字,大约阅读时间需要 32 分钟。
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������java������������������
��� Java������������
������������������������������������������������������������������������������
1.1 ���������������
���������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������-���������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������������java������������������������������������wait()���notify()���
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
java������������������������������������������������������������������������-���������������������������������������������������������Java���������������������������������������������������������������������������������������������������������
1.2 java���������������JMM���
CPU���������������������������������������������������������������������������������������������������������CPU������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������JMM������������������������������������������������JMM���������������������������������������������������������������������������������
���������JMM������������������������A���������B������������������������������������������������������
������A������������������������������������������A���������������������������������������������������������������������������������
������B���������������������������������������
java������������������������������������������������������������
1.3 ������������������������
���������������������������������������������������������������������������������������������������������������������������������
���������������������������������������
���������������������������
������������������������
���������������������������������������������������������������������������������volatile���synchronization���������������������������������������������������������������������������������������
������CPU���������������������������������CPU������������������������������������������������CPU���������������������������������������flush���������������������������������������������������������CPU���������������������������������������������������������������������������������������������������������������������������CPU������������
���������������������������������������������������������������volatile������������volatile ������������������������������������������������������������������������������������������������������������������������������
������������
������������������������������������������������������������������������������������������������������������������
������A���������B������������������obj���������������A���������������Obj.count������������������CPU������������������������B������������Obj.count���������������CPU������������������������������������Obj.count���������1������������������Obj.count���1������������������������������������������������CPU������������
���������������������������������������synchronized������������synchronized���������������������������������������������������������������������������������synchronized������������������������������������������������������������������������������������������������������������������������������������flush���������������������������������������volatile������������
��� ���������
���������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
1������������������������������2���3������������������������������������������������������������������������������JMM������������������������������������������������������������������������������������������Memory Barrier
������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
int a = 1;//Aint b = 2;//Bint c = a + b;//c
���������������A���B���������������������������A���B������������������������������������������������������������������A���B������������������������������������������������A������B���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������a������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������as-if-serial������������������������������������������������������������������������������������runtime���������������������������as-if-serial���������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
��� happens-before������
������������������������������������������������������������������������������������������������������������������������������������������������������������JMM���������������������������������������������������������������������������������������������������������������������������������������������������������������������
3.1 happens-before
���������������������������������������������������������������������������������������������������������������������������������������������������happens-before���
���JMM���������������������������������������������������������������������������������������������������������������happens-before���������
���������JMM������������happens-before������������������������������������������������������������������A������������������a���B������������������b������������happens-before���������������a���������b���������������������������������������JMM������������������a������������b���������������������������������������
- ������������������happens-before������������������������������������������������������������������������������������������������������������������������������������������������������
- ������������������������happens-before������������������������Java������������������������������������happens-before������������������������������������������������������������������������������happens-before������������������������������������������������������������������������������������JMM���������������������������
3.2 ������������
������������������8������
������������������������������������������������������������������������������������������������������������������������������
���������������������unLock���������������������������������������������lock���������
volatile���������������������������������������������������������������������������������������������
���������������������������A���������������������B������������B������������������������C������������������������A���������������������C���
���������������������Thread���������start()������������������������������������������������������
������������������������������interrupt()���������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������Thread.join()���������������Thread.isAlive()������������������������������������������������������
������������������������������������������������������������������������finalize()������������������
���������������
发表评论
最新留言
关于作者
