带你读《HikariCP数据库连接池实战》之二:数据库连接池江湖
点击查看第一章点击查看第三章第2章
数据库连接池江湖
本章将为读者介绍数据库连接池的一些基础概念。数据库连接池涉及的概念很多,这里介绍的是我认为在企业应用开发中非常基础和重要的概念。数据库连接的建立是一种耗时长、性能低、代价高的操作,频繁地进行数据库连接的建立和关闭会极大影响系统的性能,若多线程并...
文章
被纵养的懒猫
2019-11-08
1884浏览量
Java并发编程-并发编程带来的问题
并发编程带来的问题
1.上下文切换问题
2.死锁问题
上下文切换
多线程不一定快
1.线程有创建和上下文切换的开销
如何减少上下文切换
减少上下文切换的方法有无锁编程、CAS算法、使用最小线程、使用协程
1.无锁并发编程,多线程竞争锁时,会引起上下文切换,所以多线程处理数据时,可以用一些办法来...
文章
markfork
2017-11-17
651浏览量
APPARENT DEADLOCK!!! - C3P0连接池DeadLock机制分析
1 问题
近期,刚上线不久的生产系统的数据库连接池 C3P0 (版本为0.9.5.2)突然报出 APPARENT DEADLOCK!!! 错误。
1.1 错误日志
错误日志如下。
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockD...
文章
天上只北
2018-05-22
2769浏览量
万券齐发助力企业上云,爆款产品低至2.2折起!
限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!
广告
编写高性能的Java代码需要注意的4个问题
一、并发
Unable to create new native thread ……
问题1:Java中创建一个线程消耗多少内存?
每个线程有独自的栈内存,共享堆内存
问题2:一台机器可以创建多少线程?
CPU,内存,操作系统,JVM,应用服务器
我们编写一段示例代码,来验证下线程池与非线程池的区...
文章
宜信技术学院
2019-06-20
5394浏览量
PostgreSQL deploy advise
【未完待续】
数据库服务器硬件配置建议
1. 内存 > 活跃数据量
2. CPU >= 4核
3. 硬盘 > 总数据量
4. RAID : RAID 1 或 RAID 10
5. 网卡 : OLTP业务 >= 100MB; OLAP业务 >= 1000MB;
数据...
文章
德哥
2016-04-05
805浏览量
ActiveMQ:Communications link failure问题以及解决办法
ActiveMQ版本:5.5.1
MQ 所使用的 MySQL 是 InnoDB存储引擎
记录人:@郑昀
现象:
业务表面现象:无。系统现象:无。
日志信息:业务系统发送 MQ 消息时,下面这种错误日志断断续续地一直都有:
com.mysql.jdbc.exceptions.jdbc4.Com...
文章
郑昀
2016-04-26
3359浏览量
SQLServer性能数据解析
磁盘相关
ins_dir = MSSQL_DIR + "/ms" + str(port)
data_dir = ins_dir + '/data'
log_dir = ins_dir + '/log'
backup_...
文章
天铭-
2016-05-16
4606浏览量
Java并发编程实战系列8之线程池的使用
ThreadPoolExecutor UML图:
image
image
8.1 在任务和执行策略之间隐形耦合
避免Thread starvation deadlock
8.2 设置线程池大小
8.3 配置ThreadPoolExecutor...
文章
javaedge
2018-02-22
1060浏览量
带你读《Java并发编程的艺术》之一:并发编程的挑战
Java核心技术系列点击这里查看第二章点击这里查看第三章Java并发编程的艺术方腾飞 魏鹏 程晓明 著北京:机械工业出版社,2015.7
第1章
并发编程的挑战并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行...
文章
KB小秘书
2019-10-29
2168浏览量
Java并发编程实战系列10之避免活跃性危险
10.1 死锁
哲学家问题
有环
A等B,B等A
数据库往往可以检测和解决死锁//TODO
JVM不行,一旦死锁只有停止重启。
下面分别介绍了几种典型的死锁情况:
10.1.1 Lock ordering Deadlocks
下面是一个经典的锁顺序死锁:两个线程用不同的顺序来获得相同的锁,如果按...
文章
javaedge
2018-02-22
757浏览量
带你读《Java并发编程的艺术》之一:并发编程的挑战
Java核心技术系列点击这里查看第二章:Java并发机制的底层实现原理点击这里查看第三章:Java内存模型
Java并发编程的艺术
方腾飞 魏鹏 程晓明 著
前 言
为什么要写这本书记得第一次写并发编程的文章时还是在2012年,当时花了几个星期的时间写了一篇文章《深入分析volatile的实现...
文章
社区助手
2019-10-17
4119浏览量
JavaWeb 并发:FOR UPDATE 实战,监测并解决。
一、前言
针对并发,老生常谈了。目前一个通用的做法有两种:锁机制:1.悲观锁;2.乐观锁。
但是这篇我主要用于记录我这次处理的经历,另外希望能看的大神,大牛,技师者,学长,兄长,大哥们能在评论中发表自己的看法和解决技巧等。
二、故事是这样的
一个表,暂且叫 wallet,其中3个字段是 金额。...
文章
bysocket
2016-04-28
1297浏览量
JavaEE 并发:一、FOR UPDATE 实战,监测并解决。
一、前言
针对并发,老生常谈了。目前一个通用的做法有两种:锁机制:1.悲观锁;2.乐观锁。
但是这篇我主要用于记录我这次处理的经历,另外希望能看的大神,大牛,技师者,学长,兄长,大哥们能在评论中发表自己的看法和解决技巧等。
二、故事是这样的
一个表,暂且叫 wallet,其中3个字段是 金额。...
文章
bysocket
2016-04-29
1302浏览量
《Java并发编程的艺术》第一章
第1章并发编程的挑战
并发编程的目的是为了让程序运行的更快,但是并不是启动更多的线程,就能让程序最大限度的并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行的更快,会面临非常多的挑战,比如上下文切换的问题,死锁的问题,以及受限于硬件和软件的资源限制问题,本章会介绍几种并发编程的挑战,...
文章
青衫无名
2017-05-22
1612浏览量
TokuDB · 引擎特性 · HybridDB for MySQL高压缩引擎TokuDB 揭秘
HybridDB for MySQL(原名petadata)是面向在线事务(OLTP)和在线分析(OLAP)混合场景的关系型数据库。HybridDB采用一份数据存储来进行OLTP和OLAP处理,解决了以往需要把一份数据多次复制来分别进行业务交易和数据分析的问题,极大地降低了数据存储的成本,缩短了数...
文章
db匠
2017-07-21
2466浏览量
深入Guava源码之Stripe
当前JDK对并发编程的支持
Sun在Java5中引入了concurrent包,它对Java的并发编程提供了强大的支持。首先,它提供了Lock接口,可用了更细粒度的控制锁的区域,它的实现类有ReentrantLock,ReadLock,WriteLock,其中ReadLock和WriteLock共同...
文章
雪地脚印
2016-05-17
2588浏览量
java-面试- Java并发编程(一)——并发编程需要注意的问题
并发是为了提升程序的执行速度,但并不是多线程一定比单线程高效,而且并发编程容易出错。若要实现正确且高效的并发,就要在开发过程中时刻注意以下三个问题:
上下文切换
死锁
资源限制
接下来会逐一分析这三个问题,并给出相应的解决方案。
问题一:上下文切换会带来额外的开销
线程的运行机制
一个C...
文章
追风筝的猪
2018-03-20
961浏览量
MySQL · 引擎特性 · InnoDB 事务子系统介绍
前言
在前面几期关于 InnoDB Redo 和 Undo 实现的铺垫后,本节我们从上层的角度来阐述 InnoDB 的事务子系统是如何实现的,涉及的内容包括:InnoDB的事务相关模块、如何实现MVCC及ACID、如何进行事务的并发控制、事务系统如何进行管理等相关知识。本文的目的是让读者对事务系统...
文章
db匠
2016-05-23
2149浏览量
MySQL · 引擎特性 · InnoDB 事务子系统介绍
前言
在前面几期关于InnoDB Redo和Undo实现的铺垫后,本节我们从上层的角度来阐述InnoDB的事务子系统是如何实现的,涉及的内容包括:InnoDB的事务相关模块,如何实现MVCC及ACID,如何进行事务的并发控制,事务系统如何进行管理等相关知识。本文的目的是让读者对事务系统有一个较全面...
文章
zhaiwx_yinfeng
2015-12-21
4110浏览量
PostgreSQL 11 参数模板
标签
PostgreSQL , 参数 , 模板 , postgresql.conf , pg_hba.conf , postgresql.auto.conf
背景
系统参数模板
《PostgreSQL on Linux 最佳部署手册 - 珍藏级》
《PostgreSQL 10 + PostG...
文章
德哥
2019-04-27
2143浏览量
C++并发编程(C++11到C++17)
为什么要并发编程
大型的软件项目常常包含非常多的任务需要处理。例如:对于大量数据的数据流处理,或者是包含复杂GUI界面的应用程序。如果将所有的任务都以串行的方式执行,则整个系统的效率将会非常低下,应用程序的用户体验会非常的差。
另一方面,自上个世纪六七十年代英特尔创始人之一 Gordon Moor...
文章
paulquei
2019-10-21
4064浏览量
02.Android崩溃Crash库之App崩溃分析
目录总结
01.抛出异常导致崩溃分析
02.RuntimeInit类分析
03.Looper停止App就退出吗
04.handleApplicationCrash
05.native_crash如何监控
06.ANR是如何监控的
07.回过头看addErrorToDropBox
前沿
上一篇...
文章
杨充
2020-09-07
143浏览量