随笔分类 -  并发苦旅

并发、多线程修炼路程(文化苦旅)
摘要:前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严 阅读全文
posted @ 2019-11-02 11:03 JAVA日知录 阅读(1266) 评论(2) 推荐(2) 编辑
摘要:如果有人问你“数据库事务有哪些特性”?你可能会很快回答出原子性、一致性、隔离性、持久性即ACID特性。那么你知道InnoDB如何保证这些事务特性的吗?如果知道的话这篇文章就可以直接跳过不看啦( ^.^ ) 先说结论: redo log重做日志用来保证事务的持久性 undo log回滚日志保证事务的原 阅读全文
posted @ 2019-10-09 17:30 JAVA日知录 阅读(3649) 评论(0) 推荐(2) 编辑
摘要:这篇文章以一个问题开始,如果你知道答案的话就可以跳过不看啦@(o・ェ・)@ Q:在一个批量任务执行的过程中,调用多个子任务时,如果有一些子任务发生异常,只是回滚那些出现异常的任务,而不是整个批量任务,请问在Spring中事务需要如何配置才能实现这一功能呢? 隔离级别 隔离性(Isolation)作为 阅读全文
posted @ 2019-09-29 15:55 JAVA日知录 阅读(1721) 评论(0) 推荐(1) 编辑
摘要:在JAVA中,线程可以使用定制的代码来管理,应用也可以利用线程池。在使用线程池时,有一个因素非常关键:调节线程池的大小对获得最好的性能至关重要。线程池的性能会随线程池大小这一基本选择而有所不同,在某些条件下,线程池过大对性能也有很多不利的影响。 所有线程池的工作方式本质是一样的:有一个任务队列,一定数量的线程会从该任务队列获取任务然后执行。任务的结果可以发回客户端,或保存到数据库,... 阅读全文
posted @ 2017-02-24 10:10 JAVA日知录 阅读(17585) 评论(2) 推荐(0) 编辑
摘要:CountDownLatch CountDownLatch是一个非常实用的多线程控制工具类,这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行。在这里指CountDownLatch.await()方法在倒计数为0之前会阻塞程序运行。 CountDownLatch 的作用和 阅读全文
posted @ 2016-12-02 09:07 JAVA日知录 阅读(442) 评论(0) 推荐(0) 编辑
摘要:线程通信概念: 线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体,线程之间的通信就成为整体的必用方式之一。当线程存在通信指挥,系统间的交互性会更强大,在提高CPU利用率的同时还会对线程任务在处理过程中进行有效的把控与监督。 为了支持多线程之间的协作,JDK提供了两个非常重 阅读全文
posted @ 2016-11-30 11:21 JAVA日知录 阅读(4402) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示