抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

2021年8月4日

文章已收录Github精选,欢迎Star:https://github.com/yehongzhi 前言作为Java程序员,我们都知道在多线程的情况下,为了保证线程安全,经常会使用synchronized和Lock锁。Lock锁之前写过一篇《不得不学的AQS》,已经详细讲解过Lock锁的底层原理。这次我们讲一下日常开发中常用的关键字synchronized,想要用得好,底层原理必须要搞明...

2021年8月4日

思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 悲观锁悲观锁是平时开发中经常用到的一种锁,比如ReentrantLock和synchronized等就是这种思想的体现,它总是假设别的线程在拿线程的时候都会修改数据,所以每次拿到数据的时候都会上锁,这样别的线程想拿这个数据就会被阻塞。如图所示: ...

2021年8月4日

思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 前言在实际开发场景中,我们经常要使用多线程开发应用,比如实现异步操作,或者为了提高程序的效率等等。但是以前我见过有实习生在使用的时候是直接new Runable(),然后start()。没有使用线程池,可能很多初学者对线程池在多线程开发中没有足够的...

2021年8月4日

思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 一、什么是AQS谈到并发编程,不得不说AQS(AbstractQueuedSynchronizer),这可谓是Doug Lea老爷子的大作之一。AQS即是抽象队列同步器,是用来构建Lock锁和同步组件的基础框架,很多我们熟知的锁和同步组件都是基于A...

2021年8月4日

思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 概述Mybatis是一个比较主流的ORM框架,所以在日常工作中接触得很多。我比较喜欢看优秀框架的源码,因为能写出这种框架的作者肯定有其独特之处。如果能看懂源码的一些巧妙构思,一定是受益匪浅的。 所谓万事开头难,看源码也要找到切入的点。设计模式无疑是...