后端

AQS机制

AQS:全名为AbstractQuenedSynchronizer,翻译过来即抽象的队列同步器,是一种用来构建锁和同步器的框架。 基于AQS构建同步器,很多并发类都是基于它实现的,这些类都是继承于AbstractQueuedSynchronizer,包括: ReentrantLock Semaphore CountDownLatch ReentrantReadWriteLock Synchron

Spring源码分析之AOP

AOP是什么 面向切面的程序设计(Aspect-oriented programming,AOP,又译作面向方面的程序设计、剖面导向程序设计),是计算机科学中的一种程序设计思想,旨在将横切关注点与业务主体进行进一步分离,以提高程序代码的模块化程度。通过在现有代码基础上增加额外的通知(Advice)机制,能够对被声明为“切点(Pointcut)”的代码块进行统一管理与装饰。 怎么在Spring里使用

LeetCode - #65 有效数字

前言 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新了 64 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。 不积跬步,无以至千里;不积小流,无以成江海

8、 equals与==的区别

equals与==的区别 == :     == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。 1、比较的是操作符两端的操作数是否是同一个对象。  2、两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。  3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为true,如: int a=1

【JavaEE】SpringIoC与SpringDI

目录 一、IoC与DI 1.1 IoC 1.2 DI 二、IoC与DI的使用 三、IoC详解 3.1 Bean的存储 3.2 @Controller(控制器存储) 3.3 获取Bean对象 3.4 @Service(服务存储) 3.5 @Repository(仓库存储&#xf

《代码的降临》告诉我们的7件事

捷径可能很有用 编码竞赛或类似leetcode的问题通常要求您以无症状的最佳方式解决问题,并制定适用于任何输入并考虑所有边缘情况的通用解决方案。 数学竞赛和谜题要求您为给定问题找到优雅的确切解决方案或一些技巧,让您无需任何编码即可获得答案。 image.png 但 AoC 问题通常是不同的:您需要使用某些编码来回答特定输入的问题,但您不需要编写通用代码或获取始终有效的确切公式。有时

02原理篇(D2_SpringBoot 自动装配原理)

目录一、自动装配机制1. 简介2. 自动装配主要依靠三个核心的关键技术3. run()方法加载启动类4. 注解@SpringBootApplication包含了多个注解4.1 @SpringBootConfiguration4.2 @ComponentScan4.3 @EnableAutoConfiguration5. @SpringBootApplicat

数组的遍历二:遍历性能的对比

数组遍历 前言 上一篇 《数组的遍历一:遍历次数的对比》 介绍了遍历次数的比较,本篇介绍遍历性能的对比。 遍历性能对比 题目背景:填充一个固定长度的数组,数组每一项为一个对象,包含一个 id 和 count。 id 为从 1 开始的自增数字,count 为一个随机数,然后遍历查找到数组的最后一项。 如果提前退出遍历,那耗时肯定会比全部遍历要少,所以这里采用查找最后一项是为了保证所有 API 的遍

【5分钟背八股】ZooKeeper和Reids做分布式锁的区别?

Reids: Redis只保证最终一致性,副本间的数据复制是异步进行(Set是写,Get是读,Reids集群一般是读写分离架构,存在主从同步延迟情况),主从切换之后可能有部分数据没有复制过去可能会 「丢失锁」 情况,故强一致性要求的业务不推荐使用Reids,推荐使用zk。 Redis集群各方法的响应时间均为最低。随着并发量和业务数量的提升其响应时间会有明显上升(公网集群影响因素偏大),但是极限q