后端

AQS机制

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

一图了解ConcurrentHashMap底层原理

底层结构图.png 1、ConcurrentHashMap底层数据结构是一个数组table 2、table数组上挂着单向链表或红黑树 3、new ConcurrentHashMap();如果没有指定长度的话,默认是16,并且数组长度必须是2的n次幂,若自定义初始化的长度不是2的n次幂,那么在初始化数组时,会吧数组长度设置为大于自定义长度的最近的2的n次幂。(如:自定义长度为7,那么实际

Java异步任务编排—CompletableFuture(二)

CompletableFuture API 默认情况下CompletableFuture会使用公共的ForkJoinPool线程池,这个线程池默认创建的线程数是 CPU 的核数(也可以通过 JVM option:-Djava.util.concurrent.ForkJoinPool.common.parallelism 来设置ForkJoinPool线程池的线程数)。如果所有Completabl

【Java开发日记】Spring MVC控制器的14个技巧

目录1、使用@Controller构造型2、实现控制器接口3、扩展AbstractController类4、为处理程序方法指定URL映射5、为处理程序方法指定HTTP请求方法6、将请求参数映射到处理程序方法7、返回模型和视图8、将对象放入模型9、处理程序方法中的重定向10、处理表格提交和表格验证11、处理文件上传12、在控制器中自动装配业务类13、访问HttpServletRequest和

无IDEA不Java:快速掌握Java集成开发环境

IntelliJ IDEA是一种强大的Java集成开发环境,是Java开发人员的首选工具之一。本文将介绍IDEA的基本使用方法和常用功能,以帮助初学者快速上手。 安装和配置 首先,需要下载并安装IntelliJ IDEA。在安装完成后,需要配置JDK,以便IDEA可以正确地编译和运行Java代码。在IDEA中,可以通过File->Project Structure来配置JDK路径。 创建项目

mysql 主从配置

核心概念: 主服务器(Master):负责处理客户端的写操作,并将数据更改记录到二进制日志(binlog)中。 从服务器(Slave):负责读取主服务器的二进制日志,并在本地执行这些更改,以保持数据同步。 工作

【竞赛题】6376. 一最多的行

题目: 给你一个大小为 m x n 的二进制矩阵 mat ,请你找出包含最多 1 的行的下标(从 0 开始)以及这一行中 1 的数目。 如果有多行包含最多的 1 ,只需要选择 行下标最小 的那一行。 返回一个由行下标和该行中 1 的数量组成的数组。 示例 1: 输入:mat = [[0,1],[1,0]] 输出:[0,1] 解释:两行中 1 的数量相同。所以返回下标最小的行,下标为 0 。该行 1

每日一题-leetcode 365. 水壶问题

有两个水壶,容量分别为 jug1Capacity 和 jug2Capacity 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 targetCapacity 升。 如果可以得到 targetCapacity 升水,最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。 你可以: 装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒空 示

error @achrinza/node-ipc@9.2.5: The engine “node“ is incompatible with this module. 解决node.js版本不兼容问题

目录很多人运行项目的时候会出现报错信息:解决方案然后再次运行就好了:此时,我点击链接就可以看到了: 很多人运行项目的时候会出现报错信息: 这个错误是因为你的项目中使用了一个模块 @achrinza/node-ipc,它要求 Node.js 版本在 8 到 18 之间,但你的 Node.js 版