最新文章列表

用于多线程生产环境的单例参考

个人学习参考所用,勿喷!   单例有多种的写法,本例是懒汉式单例的一种写法。在高并发环境下需要注意的是:   1.单例在并发访问并调用其相应的getInstance方法的时候也会造成创建多个实例对象,加锁是必要的。 2.使用synchronized是比较好的解决方案,优点是代码简洁,缺点是在抛出异常的时候不能处理维护使    系统处于良好状态。 3.显示的lock设定是良好的解决方案。 ...
kingxss 评论(0) 有1561人浏览 2012-02-23 17:17

并发数???

这个是我在一本讲解WEB项目测试书中看到的并发解释,很不错。 并发的意思就是一起出发,举个例子,百米赛跑,发令枪一响,参赛的运动员瞬时启动,在到达终点前的这段时间里面,动作基本保持一致的,都在向前奔跑,但并不是步调都一致,因为有人快,有人慢,所以,我们说这里并发并非绝对意义上的并发,只是在某个点上做到并发。 通常所说的并发都是某时间段内的业务量,非绝对意义上的并发。 在日常的测试工作中,大多 ...
275553385 评论(0) 有1210人浏览 2012-02-14 15:58

spring在多并发情况下的场景应用

应用场景:在一个web应用中,程序需要通过一定协议定时或手动向另一部分硬件或软件推送差异数据,目标硬件或软件分布在不同的地方.        这个需求很简单,在这里并不会考虑出错情况下的容错处理,考虑的是理想状态下的情况(网络正常,设备正常),但却会催生一些并发问题。在这里定时调用和手动调用推送数据是在同一个类中实现的.例如推送数据时会产生以下一种情况,定时推送过程中,数据还没有提交完成,数据已被 ...
minn84 评论(0) 有3491人浏览 2012-02-03 11:05

【转】JAVA的并发你不得不知道的 .

1. 同步方法或同步代码块? 您可能偶尔会思考是否要同步化这个方法调用,还是只同步化该方法的线程安全子集。在这些情况下,知道 Java 编译器何 ...
selvemen 评论(0) 有1049人浏览 2012-02-03 09:41

java并发编程--AbstractQueuedSynchronizer的tryLock()方法分析(六)

tryLock()仅尝试一次获取锁,不管成功与否,都将返回结果。   public boolean tryLock()仅在调用时锁未被另一个线程保持的情况下,才获取该锁。 如果该锁没有被另一个线程保持,并且立即返回 true 值,则将锁的保持计数设置为 1。即使已将此锁设置为使用公平排序策略,但是调用 tryLock() 仍将 立即获取锁(如果有可用的),而不管其他线程当前是否正在等待该 ...
wode66 评论(0) 有2323人浏览 2012-01-05 14:40

java并发编程--AbstractQueuedSynchronizer的lock()和lockInterruptibly()方法分析(五)

  lock 与 lockInterruptibly比较区别在于: lock 优先考虑获取锁,待获取锁成功后,才响应中断。 lockInterruptibly 优先考虑响应中断,而不是响应锁的普通获取或重入获取。   详细区别: ReentrantLock.lockInterruptibly允许在等待时由其它线程调用等待线程的Thread.interrupt方法来中断等待线程的等待 ...
wode66 评论(0) 有5835人浏览 2011-12-31 11:19

java并发编程--AbstractQueuedSynchronizer条件锁分析(四)

        前一篇J.U.C的锁的获取与释放的过程,这个过程主要通过在A.Q.S中维持一个等待队列来实现,其中我们也提到了,在A.Q.S中除了一个等待队列之 ...
wode66 评论(0) 有2277人浏览 2011-12-30 17:10

java并发编程--AbstractQueuedSynchronizer公平锁和非公平锁分析(三)

juc包中,aqs实现的公平锁和非公平锁的最主要的区别是:非公平锁中,那些尝试获取锁且尚未进入等待队列的线程会和等待队列head结点的线程发生竞争。公平锁中,在获取锁时,增加了isFirst(current)判断,当且仅当,等待队列为空或当前线程是等待队列的头结点时,才可尝试获取锁。     1.1 NonfairSync.lock()  final void lock() { if ...
wode66 评论(1) 有3930人浏览 2011-12-30 14:40

java并发编程--AbstractQueuedSynchronizer加锁和解锁分析(二)

  在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantReadWriteLock),其实现都依赖java.util.concurrent.AbstractQueuedSynchronizer类,实现思路都大同小异,因此我们以ReentrantLock作为讲解切入点。 1. R ...
wode66 评论(2) 有8596人浏览 2011-12-29 22:07

JAVA5线程并发库[8]-Exchanger(转)

    用于实现两个线程之间的数据交换,每个人在完成一定的事务后想与对方交换数据,第一个先拿出数据的人要一直等待第二个人拿着数据到来时,才能彼此交换数据     import java.util.concurrent.Exchanger; import java.util.concurrent.ExecutorService; impor ...
ccfangle 评论(0) 有992人浏览 2011-12-21 10:18

基准测试和性能分析

(一)基准测试(测试现状): 1. QPS(吞吐量) 2. 响应时间 3. 并发度(峰值时期) 4. 扩展性 (CPU,IO,DB) (二)性能分析 1. 性能代码(在应用程序中植入) 1.1 总体执行时间 1.2 SQL执行时间 1.3 高消耗函数调用 1.4 远程依赖 1.5 关键服务 (日志记录,使用数据库可以利用SQL来方便查询) 2. MYSQL 2.1 日志分析(SQL定位, ...
chinese.darren 评论(0) 有1008人浏览 2011-12-07 23:06

Java并发编程(一) CountDownLatch

介绍 CountDownLatch是JDK5引入的一个新的线程辅助类,用于帮助开发人员”比较精确"的控制线程状态。CountDownLatch这个类内置了一个锁计数器,这个计数器由新建这个类的实例时指定,每调用countDown()方法一次,计数器的数字减一,当计数器为零时,所有的等待线程被释放并执行,否则这些线程是处于等待状态。   这个类在两种典型的场合下可以用得到。   第 ...
Mojarra 评论(0) 有2594人浏览 2011-11-15 12:13

Scala actor gc 问题

          scala原生的acotor在任务结束之后并不会被回收,这也就是说,我无法无限制的创建actor。例如在一个HTTP服务器中,如果每个请求都创建一个新的actor处理,这样不久之后就会内存溢出。今天对scala和akka的actor内存使用情况做了简单测试  测试代码如下   import akka.actor.Actor import akka.actor.Actor. ...
jilen 评论(2) 有4461人浏览 2011-11-02 17:07

Java并发编程实践学习之:线程安全的概念的经典总结

在Java并发编程实践(Java concurrency in practice) 一书中第二章讲到了线程安全的概念. 有些话非常的经典.我同时找来英文放在这里. 引用 编写线程安全的代码,本质上就是管理状态(state)的访问,而且通过都是共享的,可变状态. 通俗地说,一个对象的状态就是它的数据,存储在状态变量(state variables)中,比如实例域或静域.对象的状态还包括了其他附属对象的 ...
banxi1988 评论(0) 有1528人浏览 2011-10-17 11:16

java并发测试用例模板

这里申请了1000个线程,并且执行1000次任务。当所有任务完成后,main退出。 public class Test { public static void main(String[] args) { int count = 1000; ExecutorService executorService = Executors.newFixed ...
flysnowxf 评论(3) 有15526人浏览 2011-10-10 11:34

并发环境下,我们的工具类是否安全?

由于web天生并发性,导致我们的一般java工具类会在这样的环境下出现问题。 其实问题的根源就是我们的工具类不是线程安全的。 有一个生成md5的工具 ...
ol_beta 评论(0) 有1163人浏览 2011-09-12 11:26

[转]高并发高流量网站架构

Web2.0的兴起,掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站, ...
ol_beta 评论(0) 有673人浏览 2010-04-30 10:44

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics