后端

一图了解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

从零开始的软路由之爱快虚拟机搭建openwrt

缘起 上篇文章我们介绍了爱快软路由的搭建方法,成功了实现了软路由的初级布置——能上网了。接下来就是搭建双软路由中的另一个openwrt了,上期介绍了爱快的特点,主要是用来多拨,分流,流控等操作,在这些方面爱快上手简单且运行稳定。而往往我们装软路由不仅仅只是用于这些基础功能,我们还需要些许个性化的需求,openwrt就能很好的满足这些需求,openwrt是个开源项目,发展了有十多年了,各种稀奇古怪的

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

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

mysql 主从配置

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

2024年08月20日 Go生态洞察:Range Over Function Types( Go 1.23 新增的 “在函数类型上使用 for/range” 特性)

2024年08月20日 Go生态洞察:Range Over Function Types 🚀 摘要大家好,我是 猫头虎,本篇文章将深入剖析 Go 1.23 新增的 “在函数类型上使用 for/range” 特性 —— 又称 Range Over Function Types。我们将结合泛型容器、迭代器模式、push 与 pull 两种迭代

第4章 节点伸缩的实现

阿里云K8s集群的节点可以动态增加或减少。集群可以在计算资源不足的情况下扩容,增加新的节点,同时也可以在资源利用率降低的时候,释放节点以节省费用。 4.1 节点增加原理 4.1.1 手动添加已有节点 节点准备,就是把一个普通的ECS实例安装配置程一个K8s集群节点的过程。这个过程仅靠一条命令就可以完成。这条命令使用curl下载attach_node.s

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

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

VMware虚拟机安装Linux Ubuntu操作系统的详细流程

  本文介绍基于VMware Workstation Pro虚拟机软件,配置Linux Ubuntu操作系统环境的方法。   首先,我们需要进行VMware Workstation Pro虚拟机软件的下载与安装。需要注意的是,VMware Workstation Pro软件是一个收费软件,而互联网中有很多可以下载后直接免费激活、使用这一软件的方法与资源,这里就不再赘述,直接从VMware Work