dubbo连接池爆满
生产dubbo服务连接爆满,分析dubbo连接数设置、dubbo长连接机制。
java并发编程--互斥锁, 读写锁及条件
synchronized机制提供了对与每个对象相关的隐式监视器锁的访问, 并强制所有锁获取和释放均要出现在一个块结构中, 当获取了多个锁时, 它们必须以相反的顺序释放. 而Lock机制必须显式的调用Lock对象的unlock()方法才能释放锁, 这为获取锁和释放锁不出现在同一个块结构中, 以及以更自由的顺序释放锁提供了可能. ReentrantLock实现Lock,提供互斥锁, 可以代替synchronizedReentrantReadWriteLock实现ReadWriteLock,提供读写锁,在多读少写的情况下,可以有效提高并发性能。
MySQL事务隔离级别
一、事务隔离级别 先来看张图,通过这张图可以加深...
数据库锁:乐观锁和悲观锁,共享锁和排它锁,行级锁和表级锁
数据库锁介绍:乐观锁和悲观锁典型的并发时出现的冲突有两种:1、丢失更新? 2、脏读悲观锁是数据库锁,乐观锁并不是锁,是冲突检测机制。
quartz详解5:官网example分析
quartz官方提供了15个example,方便开发者理解quartz的用法。现在结合源码对实例的使用进行分析。参见:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/examples/
quartz详解4:quartz线程管理
quartz启动后有多个线程同时在跑。启动时会启动主线程、集群线程、检漏线程、工作线程。主线程负责查询到需要触发的线程,并放入到线程队列。集群线程负责集群、检漏线程负责对未成功执行的任务进行检漏。工作线程默认是20,一般PC服务器可以调到200。一、主线程QuartzScheduleThread二、线程池SimpleThreadPool三、工作线程WorkThread四、集群线程ClusterManager和检漏线程MisfireHandler五、总结:从线程角度来分析集群的性能的话,主要是:1、主线程QuartzScheduleThread的瓶颈很可能出现在数据库行锁。--可以考虑定时任务数据保存在分布式缓存。减少对数据库的过分依赖。2、工作线程WorkThread的瓶颈很可能出现在任务的阻塞。--可以通过用异步任务来解析,异步任务如何放在数据库有性能问题可以再考虑分布式缓存。
quartz详解3:quartz数据库集群-锁机制
详细介绍数据库锁机制。通过源码分析代码中实现的两种锁STATE_ACCESS 和TRIGGER_ACCESS的使用范围。
quartz详解2:quartz由浅入深
一、quartz核心概念介绍Job JobDetail Trigger Calendar Scheduler ThreadThread等核心概念二、简单的使用入门三、文字介绍quartz的各组件如何设计,实现什么功能。四、结构与流程分析:通过分析源码,流程图、序列图等方式深入分析各部分的实现。1、定时器启动;2、触发点火 3、在线程中运行任务
quartz详解1:初步了解quartz?
一、定时任务的需求描述二、为什么研发团队会选择quartz三、quartz支持集群-通过数据库行锁。四、企业如何使用,阿里easySchedule
linux下打命令慢,系统的CPU占用过高。
最近服务器经常一阵阵的慢的打命令都打不了,每天都有很多次慢的时候用top命令查看v发现系统CPU过高:打字用到的是与linux系统函数的交互,CPU忙的话,会导致响应不及时。top - 15:09:01 up 45 days, 22:43, 1 user, load average: 0.36, 0.36, 0.36Tasks: 205 total, 1 running, ...
PPM系统内存溢出问题解决
PPM系统手工下发数据到CRM时。下发10万条,每次2000条分页下发。时间长了会出现内存溢出。在测试库测试发现,linux的内存占用会上升到40%,然后weblogic抛出错误重新把问题定位到报错的这句话:java.lang.OutOfMemoryErro:Out of swap space?是swap区内存不够用了,所以了jvm的堆没关系的。这时才想到之前说的内存都到了40%了,总内存8G,那说明是linux本身的内存爆了?关于OutOfMemoryError:http://blog.csdn.net/sfdev/article/details/2051171其实java heap由2部分组成:其一为我们熟悉的JVM heap,其二为和OS相关的Native heap;