Spring IOC 原理深层解析 发表于 2020-12-14 | 0 | 阅读次数 78 一、Spring IOC概念认识区别IOC与DI首先我们要知道IOC(Inverse of Control:控制反转)是一种设计思想,就是 **将原本在程序中手动创建对象的控制权,交由Spring框架来管理。**这并非Spring特有,在其他语言里面也有体现。IOC容器是Spring用来实现IOC的 阅读全文 »
《Spring设计思想-事务篇》1.数据库连接和Java线程的关系 发表于 2020-11-29 | 0 | 阅读次数 182 0. 前言Spring作为Java框架王者,当前已经是基础容器框架的实际标准。Spring 除了提供了 IoC、AOP特性外,还有一个极其核心和重要的特性:数据库事务。事务管理涉及到的技术点比较多,想完全理解需要花费一定的时间,本系列《Spring设计思想-事务篇》将通过如下几个方面来阐述Sprin 阅读全文 »
《Spring设计思想-事务篇》2.数据库隔离级别 发表于 2020-11-29 | 0 | 阅读次数 144 0. 前言数据库的事务隔离级别是关系型数据库事务的理论基础,本文将从资源互斥的角度从上到下依次进行阐释。1.数据库的事务隔离级别1.1 事务的隔离级别,隔离的是什么?在阐述数据库事务的隔离级别时,我们首先应当明确一下,这个隔离,到底隔离的是什么。什么是事务?从数据库的事务定义来看,其具备ACID特性 阅读全文 »
不懂数据库索引的底层原理?那是因为你心里没点b树 发表于 2020-09-01 | 0 | 阅读次数 195 前几天下班回到家后正在处理一个白天没解决的bug,厕所突然传来对象的声音: 对象:xx,你有《时间简史》吗? 我:我去!妹子,你这啥癖好啊,我有时间也不会去捡屎啊! 对象:...人家说的是霍金的科普著作《时间简史》,是一本书啦! 我:哦,那我没有... 对象:人家想看诶,你明天帮我去图 阅读全文 »
Guava Cache使用总结 发表于 2020-08-17 | 0 | 阅读次数 293 缓存分为本地缓存和远端缓存。常见的远端缓存有Redis,MongoDB;本地缓存一般使用map的方式保存在本地内存中。一般我们在业务中操作缓存,都会操作缓存和数据源两部分。如:put数据时,先插入DB,再删除原来的缓存;ge数据时,先查缓存,命中则返回,没有命中时,需要查询DB,再把查询结果放入缓存 阅读全文 »
一行一行源码分析清楚 AbstractQueuedSynchronizer (三) 发表于 2020-06-29 | 0 | 阅读次数 315 这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQS 的核心,第二篇的重点是把 Condition 说明白,同时也说清楚了对于线程中断的使用。这篇,我们的关注点是 AQS 最后的部分,AQS 共享模式的使用。有前两篇文章的铺垫,剩下的源码分析将会简单 阅读全文 »
一行一行源码分析清楚 AbstractQueuedSynchronizer (二) 发表于 2020-06-29 | 0 | 阅读次数 300 文章比较长,信息量比较大,建议在 pc 上阅读。文章标题是为了呼应前文,其实可以单独成文的,主要是希望读者看文章能系统看。本文关注以下几点内容:深入理解 ReentrantLock 公平锁和非公平锁的区别深入分析 AbstractQueuedSynchronizer 中的 ConditionObje 阅读全文 »
一行一行源码分析清楚AbstractQueuedSynchronizer 发表于 2020-06-29 | 0 | 阅读次数 291 在分析Java并发包java.util.concurrent源码的时候,少不了需要了解AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是Java并发包的基础工具类,是实现ReentrantLock、CountDownLatch、Semaphore、Future 阅读全文 »
深入分析 java 8 编程语言规范:Threads and Locks 发表于 2020-06-29 | 0 | 阅读次数 335 2018-02-27评论区的xupeng.zhang提出了一个我之前没碰到过的情况,推翻了我之前的一个错误理解,修改了相应的内容。2017-11-28更新了17.1、17.2、17.3,更正一些不合理的描述,修改一些话术,使读者理解起来更容易,这遍更新下来,这三节应该说已经很严谨了,读者如果还有不懂 阅读全文 »
深度解读 java 线程池设计思想及源码实现 发表于 2020-06-28 | 0 | 阅读次数 326 我相信大家都看过很多的关于线程池的文章,基本上也是面试的时候必问的,如果你在看过很多文章以后,还是一知半解的,那希望这篇文章能让你真正的掌握好Java线程池。本文一大重点是源码解析,同时会有少量篇幅介绍线程池设计思想以及作者DougLea实现过程中的一些巧妙用法。本文还是会一行行关键代码进行分析,目 阅读全文 »