后端
双端队列之ArrayDequeue
双端队列是一个很有意思的话题。在讲并发双端队列之前,我们需要介绍一个非并发的ArrayDequeue, 让大家理解双端队列的一些原理。
ArrayDeque不是线程安全的。
ArrayDeque不可以存取null元素,因为系统根据某个位置是否为null来判断元素的存在。
当作为栈使用时,性能比Stack好;当作为队列使用时,性能比LinkedList好。
image.png
从
Spring源码启动过程以及拓展点
容器启动过程
第一步先调用this();构造方法,这时父类构造器会初始化容器的 beanFactory 属性,属性为DefaultListableBeanFactory,带有存储BeanDefinition 和单例 bean 的功能
新建一个注解Bean定义读取器 new AnnotatedBeanDefinitionReader(this); 这个读取器主要是初始化环境变量,以及注册 一些
LeetCode习题——x 的平方根(二分查找)
x 的平方根
力扣链接:x 的平方根
题目
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
示例 1:
输入:x = 4
输出:2
示例 2:
输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842.
AI的提示词专栏:Prompt 驱动的 SQL 生成与查询优化
AI的提示词专栏:Prompt 驱动的 SQL 生成与查询优化
本文聚焦 Prompt 技术在 SQL 领域的应用,先剖析 SQL 生成与优化的痛点,阐述 Prompt 驱动 SQL 生成的核心原理,即通过需求转化、约束注入和示例引导实现自然语言到 SQL 的精准映射。随后结合电商、金融、互联网产品等场景,提供基础型、进
PHP实现数组自定义排序
需求背景:用户最优优惠券选择策略
核心思路是取到用户的可用优惠券列表,对列表排序,排序后第一个数组元素为最优优惠券。
Lua 脚本实现的 coupon接口中使用 table.sort 排序;
PHP 使用哪个函数呢?
答案是: usort() 可以实现对数组自定义排序。
usort 的排序规则:
usort($arr, function ($a, $b){
// 这里添加了 order 字段,
CountDownLatch
CountDownLatch是基于AQS的阻塞工具,阻塞一个或者多个线程,直到所有的线程都执行完成。
image.png
CountDownLatch解决了什么问题
当一个任务运算量比较大的时候,需要拆分为各种子任务,必须要所有子任务完成后才能汇总为总任务。
使用并发模拟的时候可以使用CountDownLatch.也可以设置超时等待时间,
CountDownLatch 用法
packa
654. 最大二叉树(难度中等)
题目链接:
题目描述:
给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建:
创建一个根节点,其值为 nums 中的最大值。
递归地在最大值 左边 的 子数组前缀上 构建左子树。
递归地在最大值 右边 的 子数组后缀上 构建右子树。
返回 nums 构
