美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以?

周末的时候,有一位小伙伴提了一些关于 `ConcurrentHashMap` 的问题,都是他最近面试遇到的。原提问如下: ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9fa94f132705416a8e07e33907544113~tp

无需依赖Docker环境制作镜像

随着高版本的Kubernetes弃用Docker,企业也可以不依赖Docker环境了,但是DevOps通过Kubernetes部署的话,仍然需要制作镜像,那么在没有Docker环境的情况下如何制作呢?推荐一款谷歌的开源工具Jib,github地址,它是一个无需Docker守护进程——也无需深入掌握D

使用containerd从0搭建k8s(kubernetes)集群

## 准备环境 准备两台服务器节点,如果需要安装虚拟机,可以参考[《wmware和centos安装过程》](https://blog.csdn.net/huashetianzu/article/details/109510266) | 机器名 | IP | 角色 | CPU | 内存 | | : :

程序调试利器——GDB使用指南

GDB是GNU Debugger的简称,其作用是可以在程序运行时,检测程序正在做些什么。GDB程序自身是使用C和C++程序编写的,但可以支持除C和C++之外很多编程语言的调试。

docker(一):Develop faster. Run anywhere.

Docker 是一个开源的应用容器引擎,可以让开发者将应用程序打包成一个容器,并通过容器来部署、运行和管理应用程序。Docker 的核心概念包括容器和镜像。容器是镜像的可运行实例,可以通过 Docker API 或 CLI 来创建、启动、停止、移动或删除容器。镜像是一个只读模板,包含了创建 Docker 容器的说明。Docker 镜像可以通过 Dockerfile 文件来创建,也可以从公有仓库中下

spring多数据源动态切换的实现原理及读写分离的应用

AbstractRoutingDataSource是Spring框架中的一个抽象类,可以实现多数据源的动态切换和路由,以满足复杂的业务需求和提高系统的性能、可扩展性、灵活性。

【信创】 JED on 鲲鹏(ARM) 调优步骤与成果

基于国家对信创项目的大力推进,为了自主可控的技术发展,基础组件将逐步由国产组件替代,因此从数据库入手,将弹性库JED部署在 国产华为鲲鹏机器上(基于ARM架构)进行调优,与Intel (X86)进行性能对比。

golang trace view 视图详解

> 大家好,我是蓝胖子,在golang中可以使用go pprof的工具对golang程序进行性能分析,其中通过go trace 命令生成的trace view视图对于我们分析系统延迟十分有帮助,鉴于当前对trace view视图的介绍还是很少,在粗略的看过trace统计原理后,我将对这部分做比较详细

【Spring】BeanPostProcessor后置处理器

BeanPostProcessor后置处理器是Spring提供的一个扩展点,可以在Bean初始化前后做一些事情,注意这里是bean的初始化,不是实例化,BeanPostProcessor是一个接口,里面提供了两个方法,分别为postProcessBeforeInitialization(初始化之前)

《最新出炉》系列初窥篇-Python+Playwright自动化测试-18-处理鼠标拖拽-上篇

1.简介 本文主要介绍两个在测试过程中可能会用到的功能:在selenium中宏哥介绍了Actions类中的拖拽操作和Actions类中的划取字段操作。例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能。playwright同样可以实现元素的拖拽和释放的操作。 2.拖拽操作 鼠标拖拽操

C#学习笔记--逻辑语句(分支和循环)

逻辑语句 条件分支语句 条件分支语句可以让顺序执行的代码逻辑产生分支,满足对应条件地执行对应代码逻辑。 IF语句 //IF语句块 int a=5; if(a>0&&a<15)//注意结尾无分号 { Console.WriteLine("a在0到15之间"); } //if……else结构 if( f

基于 Angular和Material autocomplete组件再封装的可双向绑定key-value的可输入下拉框

GitHub: https://github.com/Xinzheng-Li/AngularCustomerComponent 效果图:为了方便使用,把许多比如ADD的功能去了,可以在使用后自行实现。 调用: 1

记录 Ucharts 的使用

1.开启 2d 渲染 线上运行开启 canvas2d 可以解决图表显示问题 canvasId 可以不传,官方内置生成随机字符串id的方法 注: 开启 2d 后,不能真机调试,只能开发者工具调试或扫二维码"预览"。 开启 2d 后,模拟

java实现 微信公众号推送消息 ,cv 就可运行!!!

一,注册公众号 1,官网地址:申请测试公众号 地址: 微信公众平台 (qq.com) 文档地址:微信开放文档 (qq.com) 2,注册后可以查看自己的appId 和 appsecret 3,创建模板 请注意: 1、测试模板的模板ID仅用于测试,不能用来给正式帐号发送模板消息 2、为方便测试,测试模

Linux动态库

制作动态库(也称为共享库)是将可重用的代码和函数打包成单独的库,可以在多个程序中共享使用。在Linux上制作动态库涉及以下步骤: 编写源代码: 编写你的代码,并确保它们可以编译为动态库。通常,你需要将代码拆分成多个文件,每个文件对应一个模块或功能。 编译源代码: 使用合适的编译器(如gcc)将源代码

redis 源码分析:Jedis 哨兵模式连接原理

1. 可以从单元测试开始入手 查看类JedisSentinelPool private static final String MASTER_NAME = "mymaster"; protected static final HostAndPort sentinel1 = HostAndPorts.

Docker V24 及 Docker Compose V2 的安装及使用

Docker 是一款流行的开源容器化平台,使用 Docker 可以有效地隔离应用程序和系统环境,使得应用程序在不同的环境中具有相同的行为 Docker Compose 是一个用于定义和管理多个容器工具

9.1 运用API创建多线程

在Windows平台下创建多线程有两种方式,读者可以使用`CreateThread`函数,或者使用`beginthreadex`函数均可,两者虽然都可以用于创建多线程环境,但还是存在一些差异的,首先`CreateThread`函数它是`Win32 API`的一部分,而`_beginthreadex`...

2023-09-30:用go语言,给你一个整数数组 nums 和一个整数 k 。 nums 仅包含 0 和 1, 每一次移动,你可以选择 相邻 两个数字并将它们交换。 请你返回使 nums 中包含 k

2023-09-30:用go语言,给你一个整数数组 nums 和一个整数 k 。 nums 仅包含 0 和 1, 每一次移动,你可以选择 相邻 两个数字并将它们交换。 请你返回使 nums 中包含 k 个 连续 1 的 最少 交换次数。 输入:nums = [1,0,0,1,0,1], k = 2。

真·Redis缓存优化—97%的优化率你见过嘛?

本文通过一封618前的R2M(公司内部缓存组件,可以认为等同于Redis)告警,由浅入深的分析了该告警的直接原因与根本原因,并根据原因提出相应的解决方法,希望能够给大家在排查类似问题时提供相应的思路。