![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
转载博客
文章平均质量分 80
波子哥
这个作者很懒,什么都没留下…
展开
-
做了一个圣诞节html5游戏,祝大家圣诞节快乐!
http://www.cgame360.com/christmas/ 或者在支持html5的浏览器中打开这个链接。转载 2014-12-26 20:28:56 · 634 阅读 · 0 评论 -
数据库范式
最近温习了一下数据库范式,看到了下面这篇文章,感觉浅显易懂,这里分享给大家。数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库,甚至设计出错误的数据库。 一、基础概念 实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以转载 2015-04-14 09:19:25 · 847 阅读 · 0 评论 -
分析ReentrantLock之unlock
下面来看ReentrantLock.unlock,尝试在当前锁的锁定计数即state值上减1,而lock每次把锁定计数加1,这也是为什么lock和unlock必须成对出现,否则锁定计数就不能正常恢复到0,其它线程就不能尝试获取锁 /** * Attempts to release this lock. * * If the current th转载 2015-07-15 18:00:55 · 570 阅读 · 0 评论 -
分析ReentrantLock之lockInterruptibly
ReentrantLock代码剖析之ReentrantLock.lockInterruptibly ReentrantLock.lockInterruptibly允许在等待时由其它线程调用等待线程的Thread.interrupt方法来中断等待线程的等待而直接返回,这时不用获取锁,而会抛出一个InterruptedException。而ReentrantLock.lock方法不允许Threa转载 2015-07-15 18:03:06 · 704 阅读 · 0 评论 -
分析ReentrantLock之lock
ReentrantLock代码剖析之ReentrantLock.lock ReentrantLock是java.util.concurrent.locks中的一个可重入锁类。在高竞争条件下有更好的性能,且可以中断。深入剖析ReentrantLock的源码有助于我们了解线程调度,锁实现,中断,信号触发等底层机制,实现更好的并发程序。 先来看ReentrantLock最常用的代码lock转载 2015-07-15 17:56:57 · 533 阅读 · 0 评论 -
ConcurrentHashMap探讨
ConcurrentHashMap 仔细阅读了一下,博主剖析地不错,分享了。 ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,C转载 2015-07-15 11:25:55 · 642 阅读 · 0 评论 -
正确使用 Volatile 变量
Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对其适用性限制提出一些建议。 Java 语转载 2015-07-15 13:59:19 · 564 阅读 · 0 评论