本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
提高tomcat的并发能力
1、Apache + Tomcat 结合起来用Apache负责静态页面,Tomcat负责动态页面,同时减少connectionTimeout的时间,以应对并发量大线程回收来不及的情况。
2、压力过 ...
并行和并发的简单理解
举一些实际例子能够方便理解
并发可以说是一心二用,同时处理多件事情
比如:上课时,你一边听老师讲课,一边用手机看小说,这就算是并发
并行呢,可以说是一件事被分解为多个小任务,这些小任务被同时做,完成这些小任务就是为了完成这件事
比如,老师需要100个蝴蝶结,这位老师很聪明,他让班里的50位同学帮忙,每个同学弄2个交给他,这样就算是并行,50位同学并行做这件事
但一般情 ...
java线程常见面试题
1、什么是线程?
线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。
2、线程和进程有什么区别?
线程是进程的子集,一个进程可以有 ...
【转】亿级Web系统的容错性建设实践
转载:http://mp.weixin.qq.com/s?__biz=MzAwNjQwNzU2NQ==&mid=402841629&idx=1&sn=f598fec9b370b8a6f2062233b31122e0&scene=4#wechat_redirect
亿级Web系统的容错性建设实践
2016-04-04 徐汉彬 架构师 架构师
架构 ...
java 并发学习笔记
ExecutorService es2= Executors.newFixedThreadPool(2);
ExecutorService es = Executors.newCachedThreadPool();
ScheduledExecutorService ses = Executors.newScheduledThreadPool(1);
...
并发 Collections.synchronizedList
引用
1 :关注要点,为什么在有synchroniezed方法的同时会出现 Collections.synchronizedList
2 :知识背景: 您可能需要了解java Synchronized方法的加锁的各种机制,包括如何上锁,锁对象
3 : plus: 您需要不断的深化 Java加锁的各种机制
Java代码
1.@NotThreadSafe ...
Java并发包中的同步队列SynchronousQueue实现原理
介绍
Java 6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样。
不像ArrayBlockingQueue或LinkedListBlockingQueue,SynchronousQueue内部并没有数据缓存空间,你不能调用peek()方法来看队列中是否有数据元素,因为 ...
Spark任务拆分-并发问题
现有的结构是Spark从HBase中提取数据,进行计算操作。
Spark的并发是由:
可用CPU核数*Worker数量,来确定上限的,这种情况针对于单节点。
并发数还受到RDD的分区数量影响的,说回Hbase的话,就是受到Region数影响,基本与其一致;
所以如果在HbaseConf中确定的Region数量只有1个的话,那么会出现Spark单线程执行的情况;
这个时候可以考虑使 ...
Java synchronized
一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。
二、然而,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。
三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时 ...
支付宝177亿次的并发挑战,来谈谈app的性能提升
除夕那晚你咻一咻了吗?1808亿次互动,16倍的提升,峰值177亿次每分钟的海量数据背后,支付宝是怎么抗住的?
蚂蚁金服旗下的支付宝经过十几年的发展,从简单的支付工具逐步发展成互联网金融平台。2013年余额宝的崛起就是互联网金融平台升级的标志型事件,这一年支付宝顺利进行了PC向无线的布局,可以说架构成功升级到移动互联网金融平台。
经过两年的发展,2015年口碑和社交业务的崛起让支付宝架构进一步 ...
什么情况下用ConcurrentHashMap
很多同事都了解了HashMap和ConcurrentHashMap的原理,并且也看了两个类的源码,但是还是不知道在什么情况下使用ConcurrentHashMap。
1,在多线程并发向HashMap中put数据时,就需要把HashMap换成ConcurrentHashMap。
(原因为并发向HashMap中put数据会出现死循环,导致CPU使用率暴增。参考参考:http://mailinat ...
Java并发:wait()、notify()、notifyAll()实现生产者-消费者模式
Java中根类 Object中 wait()、notify()、notifyAll() 三个方法都是native修饰的方法。 每个对象都有相对应的方法,使用这三种方法的前提是,正在运行的线程必须拥有该对象的锁,即在synchronized(){}中。
wait():当前线程放弃该对象的锁,线程处于休眠状态,直到notify()或者notifyAll()之后,才有可能继续执行。
noti ...
Java线程池的测试和分析
package cn.smallbug.jdk.concurrent.exe;
import java.io.Serializable;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.Executio ...
java精品博客收集
java并发精品博客收集
(将不断更新欢迎收藏)
并发
并发编程系列之一:锁的意义
C/C++ Volatile关键词深度剖析
致敬disruptor:CAS实现高效(伪)无锁阻塞队列实践
JVM锁实现探究1:synchronized初探
JVM锁实现探究2:synchronized深探
原子操作的实现原理
JVM内部原理
深入分析ConcurrentHas ...
java线程安全和锁机制详解
在开始这篇blog之前应该先了解几个概念:
临界区:
临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待(例如:bounded waiting 等待法),有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用,例如:semaphore。只能被 ...