摘要: 竞争锁是造成多线程应用程序性能瓶颈的主要原因区分竞争锁和非竞争锁对性能的影响非常重要。如果一个锁自始至终只被一个线程使用,那么 JVM 有能力优化它带来的绝大部分损耗。如果一个锁被多个线程使用过,但是在任意时刻,都只有一个线程尝试获取锁,那么它的开销要大一些。我们将以上两种锁称为非竞争锁。而对性能影... 阅读全文
posted @ 2014-10-31 18:56 一天不进步,就是退步 阅读(8347) 评论(0) 推荐(1) 编辑
摘要: 主体:目前最流行的J2SDK版本是1.3系列。使用该版本的开发人员需文件随机存取,就得使用RandomAccessFile类。其I/O性能较之其它常用开发语言的同类性能差距甚远,严重影响程序的运行效率。开发人员迫切需要提高效率,下面分析RandomAccessFile等文件类的源代码,找出其中的症结... 阅读全文
posted @ 2014-10-31 18:26 一天不进步,就是退步 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 介绍通常在一个多线程环境下,我们需要共享某些数据,但为了避免竞争条件引致数据出现不一致的情况,某些代码段需要变成原子操作去执行。这时,我们便需要利用各种同步机制如互斥(Mutex)去为这些代码段加锁,让某一线程可以独占共享数据,避免竞争条件,确保数据一致性。但可惜的是,这属于阻塞性同步,所有其他线程... 阅读全文
posted @ 2014-10-31 17:59 一天不进步,就是退步 阅读(389) 评论(0) 推荐(0) 编辑